12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- import Foundation
- import UIKit
- extension NCCollectionViewCommon: UICollectionViewDataSourcePrefetching {
- func collectionView(_ collectionView: UICollectionView, prefetchItemsAt indexPaths: [IndexPath]) {
- let ext = global.getSizeExtension(column: self.numberOfColumns)
- guard !(self is NCTransfers),
- !isSearchingMode,
- imageCache.allowExtensions(ext: ext)
- else { return }
- let cost = indexPaths.first?.row ?? 0
- DispatchQueue.global().async {
- for indexPath in indexPaths {
- if let metadata = self.dataSource.getMetadata(indexPath: indexPath),
- metadata.isImageOrVideo,
- self.imageCache.getImageCache(ocId: metadata.ocId, etag: metadata.etag, ext: ext) == nil,
- let image = self.utility.getImage(ocId: metadata.ocId, etag: metadata.etag, ext: ext) {
- self.imageCache.addImageCache(ocId: metadata.ocId, etag: metadata.etag, image: image, ext: ext, cost: cost)
- }
- }
- }
- }
- }
|