我有这个代码块,我想要做的是如果类型的NSString等于Directory,我希望单元格有图像,如果没有,没有图像,但是每个单元格项都返回一张图片:(我做错了什么?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
NSArray *elements = [[[self.tableData objectAtIndex:indexPath.row] objectForKey:@"Name"] componentsSeparatedByString:@"FTP\\"];
NSString *type = [[self.tableData objectAtIndex:indexPath.row] objectForKey:@"Type"];
cell.textLabel.text = elements[1];
if([type isEqual: @"Directory"]){
cell.imageView.image = [UIImage imageNamed:@"FolderImage"];
}
return cell;
}
答案 0 :(得分:3)
字符串比较应以其他方式完成
尝试:
if([type isEqualToString: @"Directory"]){
cell.imageView.image = [UIImage imageNamed:@"FolderImage"];
} else {
cell.imageView.image = NULL;
}
答案 1 :(得分:2)
相同的单元格在不同的索引路径上重复使用。因此,您需要在其他条件下将图像显式设置为nil:
if([type isEqualToString: @"Directory"]){
cell.imageView.image = [UIImage imageNamed:@"FolderImage"];
}
else {
cell.imageView.image = nil;
}