2013-08-23 41 views
1

我在我的UITableView已插入带有自定义的UITableViewCell的SDWebImage项目,我这样做是加载图像:SDWebimage加载图像中自定义的UITableViewCell,但是当滚动在其他细胞的图像加载随机

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

但当我在一个单元格中滚动uitableview图像,进入一个单元格,例如doens't没有加载图像,并继续这种效果为所有我滚动的单元格,如果我快速向上滚动tableview单元格首先加载正确的图像,然后像上面说的那样随机更改它,我该如何修复它?

回答

1

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

你应该做的是图像设置为niltableView:cellForRowAtIndexPath:以清除任何重复使用的图像,然后再取消任何挂起的请求在tableView:didEndDisplayingCell:,但是这并没有有效地利用网络带宽。

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