在滚动上复制图像 - 是否有子类化的修复?

时间:2014-02-20 15:47:48

标签: ios objective-c uitableview

我有一个UITableView,有些项目左侧有图片。

当我向上滚动几次图像时,会一直复制到没有图像的行。 如何解决这个问题?

这是我的代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    Object* obj = [_list objectAtIndex:indexPath.row];

    if(cell == nil){
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier];
    }

    cell.textLabel.text = obj.Title;

    if(obj.Image != nil){
    cell.imageView.image = obj.Image;
    }

    return cell;
}

2 个答案:

答案 0 :(得分:1)

如何添加else语句:

if(obj.Image != nil)
{
    cell.imageView.image = obj.Image;
}
else
{
    cell.imageView.image = nil;
}

答案 1 :(得分:1)

当obj.Image显式为nil时,您需要考虑这种情况。由于单元格正在被重用,因此如果不进行更改,它也会重复使用它。

if(obj.Image != nil){
    cell.imageView.image = obj.Image;
}
else
{
    cell.imageView.image = nil;
}