2013-08-23 66 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),並等待圖像加載完成後查找適當的單元格。