SDWebimage在自定义UITableViewCell中加载图像,但在其他单元格中随机滚动图像时

时间:2013-08-23 15:49:45

标签: ios objective-c uitableview sdwebimage

我在我的uitableview中插入了自定义的uitableviewcell SDWebImage项目,我这样做是为了加载图像:

[cell.img_cell setImageWithURL:[self.url objectAtIndex:indexPath.row]
           placeholderImage:[UIImage imageNamed:nil]
                  completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) {...}];

但是当我在一个单元格中滚动uitableview图像时,进入一个单元格,例如还没有加载图像,并为我滚动的所有单元格继续此效果,如果我向上滚动tableview快速加载正确图像的单元格,然后如上所述随机更改它,我该怎样修复它?

1 个答案:

答案 0 :(得分:1)

滚动时正在重复使用表格单元格。这意味着当图像加载完成时,单元格可能不再“属于”原始URL。

您应该做的是将图片设置为nil中的tableView:cellForRowAtIndexPath:以清除所有重复使用的图片,然后取消tableView:didEndDisplayingCell:中的所有待处理请求,但这并不能提高效率使用网络带宽。

更好的方法是将图像加载代码移动到表控制器中(使用SDWebImageManager)并等待图像加载完成后查找正确的单元格。