我有一个由从 NSUserDefaults 加载的对象填充的表格视图。
具体来说——当用户在一个视图控制器中按下一个按钮时,一个字符串被加载到 NSUserDefaults 中,然后被加载到一个数组中,最终填充一个表视图。
我想知道如何根据从 NSUserDefaults 加载的字符串在每个 tableview 单元格中加载图像?
我不想在 NSUserDefaults 中保存图像,因为我知道这不是一个好主意。
我能做些什么?
感谢您的时间(并帮助新手)!
2013 年 2 月 19 日更新
我加载到 NSUserDefaults 中的字符串是对象的名称,例如“ARCX”。
目前我已经尝试了各种代码,但我似乎有误解/缺乏知识(或两者兼而有之)。
UITableViewCell *XCell = [tableView cellForRowAtIndexPath:IndexPath];
NSString *content = Xcell.textLabel.text;
if ([content isEqualToString:@"ARCX"]) [UIImage *Image = [UIImage imageNamed @"ARCX.png"]];
显然我从这段代码中得到了错误。
我希望你能帮忙!
2013 年 2 月 20 日更新
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *string = [myOBJArray objectAtIndex:indexPath.row];
static NSString *CellIdentifier = @"XCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
UIView *cellbackground = [[UIView alloc] initWithFrame:CGRectZero];
cellbackground.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"MSP cell bg MK2.png"]];
cell. backgroundView = cellbackground;
}
cell.textLabel.textColor = [UIColor yellowColor ];
cell.textLabel.font = [UIFont fontWithName:@"Helvetica" size:24.0];
cell.textLabel.text = string;
UITableViewCell *XCell = [tableView cellForRowAtIndexPath:indexPath];
NSString *content = XCell.textLabel.text;
if ([content isEqualToString:@"ARCX"]) [UIImage *Image = [UIImage imageNamed: @"ARCX.png" ]];
cell.imageView.image = Image;
return cell;
}
我确实有我最初在 CellForRowAtIndexPath 中发布的代码,但我知道我在实现中遗漏了一些东西(显然因为它不起作用!)。
谢谢你的时间!
2013 年 2 月 19 日更新
I 这是我当前的 CellForRowAtIndexPath。没有错误,但我的单元格中没有图像。我错过了什么?
我必须添加图像视图吗?我目前使用的是“基本”单元,而不是自定义单元。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *string = [myObjArray objectAtIndex:indexPath.row];
static NSString *CellIdentifier = @"MSCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
UIView *cellbackground = [[UIView alloc] initWithFrame:CGRectZero];
cellbackground.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"MSP cell bg MK2.png"]];
cell. backgroundView = cellbackground;
}
cell.textLabel.textColor = [UIColor blackColor ];
cell.textLabel.font = [UIFont fontWithName:@"Helvetica" size:24.0];
cell.textLabel.text = string;
if ([string isEqualToString:@"ARCX"])
cell.imageView.image = [UIImage imageNamed: @"ARCX.png"];
else if ([string isEqualToString:@"WPX"])
cell.imageView.image = [UIImage imageNamed:@"WPX.png"];
return cell;
}
谢谢你的时间!