Первое решение : Вы можете кэшировать данные и каждый раз проверять, есть ли, использовать ваш кеш. Вы можете использовать эту ссылку , но заменить UIImage
типом подарка!
или попробовать, я не проверял
if let giftAny = UserDefaults.standard.value(forKey: "giftUrl") {
//cast giftAny to Data
// use cached gift
} else {
// cache gift
let giftData = try? Data(contentsOf: url)
UserDefaults.standard.setValue(giftData, forKeyPath: "giftUrl")
//use gift
}
Второе решение : не используйте ячейку повторно
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = UICollectionViewCell(style: .default, reuseIdentifier:"Cell")
return cell
}
, но в этом случае, если у вас много ячеек, утечка памяти неизбежна.