1
Я использую SDWebImage, Я создаю эффект выполнения загрузки так же, как приложение WhatsApp.Изображения неправильно устанавливаются в cellForRowAtIndexPath в SDWebImage
Проблема заключается в том, что, когда я прокручиваю Tableview, Он показывает неправильные изображения для ячеек. (То есть: Когда клетки повторно случайные изображения устанавливают в клетках.)
Вот мой код в Swift:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell:ImageCellTableViewCell = self.IBtblImageTable.dequeueReusableCellWithIdentifier("ImageCell", forIndexPath: indexPath) as ImageCellTableViewCell
var url:NSURL = NSURL(string: imageArray[indexPath.row])!
cell.tag = indexPath.row
manager?.downloadImageWithURL(url, options: SDWebImageOptions.ProgressiveDownload, progress: { (recievedSize:Int, expectedSize:Int) -> Void in
if(recievedSize>0){
var progress:Float = 0
progress = Float(recievedSize)/Float(expectedSize)
println(CGFloat(progress))
}else{}
}, completed: { (image:UIImage!, error:NSError!, cacheType:SDImageCacheType, finished:Bool, url:NSURL!) -> Void in
if ((image) != nil && cell.tag == indexPath.row)
{
dispatch_async(dispatch_get_main_queue(), {() -> Void in
cell.IBimgCellImage.image = image
})
}
})
return cell
}
Вы сказали это сами - «когда ячейки повторно используются». –