Я просто отчаялся, искал 6 часов и не могу найти ответа.Просмотр коллекции для повторного использования изображений при прокрутке в swift 2
У меня есть представление коллекции с изображениями, загружаемыми с удаленного сервера, и при прокрутке ячеек обновляются несколько предыдущих изображений до нескольких секунд. Пробовал переопределение «подготовить для повторного использования» и установив ImageView изображения на ноль, но он по-прежнему не работает .. Оценил пример из тех, кто получил это работает,
спасибо большое!
EDIT - ДОБАВЛЕНИЕ КОДА
CollectionView:
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("cell", forIndexPath:indexPath) as! PictureCell
cell.pictureCD = GalleryCD().fetchTable()[indexPath.row]
return cell
}
CollectionViewCell:
class PictureCell: UICollectionViewCell {
@IBOutlet weak var picture: UIImageView!
var pictureCD: NSManagedObject! {
didSet { self.setupData() }
}
override func prepareForReuse() {
super.prepareForReuse()
self.picture.image = nil
self.picture.setNeedsDisplay() // tried adding after some recommendations
self.setNeedsDisplay() // tried adding after some recommendations
}
func setupData(){
self.picture.image = UIImage(named: "blank")
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), {
let URL = (NSURL (string: url.pictureSquareGET(picture: self.pictureCD)))!
let data = NSData(contentsOfURL: URL)!
dispatch_async(dispatch_get_main_queue()) {
self.picture.image = UIImage(data: data)
}
})
}
}
Показать код .. –
ли вы назвать super.prepareForReuse как первое заявление в prepareForReuse? – Darko
вставил код выше, спасибо – John