С Kingfisher
введено LocalFileImageDataProvider
с 5.0
.Я решил переключиться на Kingfisher
, чтобы загружать изображения с моего диска вместо прямой загрузки.Как они сказали,
// Compared to loading it directly,
// you can get benefit of using Kingfisher's extension methods,
// as well as applying `ImageProcessor`s and storing the image to `ImageCache` of Kingfisher.
Отлично работает.так как мои образы с диска довольно большие (более 1 МБ каждый).
Итак Вопрос в том, могу ли я изменить размер изображения с помощью DownsamplingImageProcessor
в UICollectionView's Cell
, смогу ли я получить доступ к изображениям оригинального размера на странице «Детали изображения» для отображенияизображение в полном разрешении, используя по-прежнему ,
//The way loading image from "Image detail page"
let url = URL(fileURLWithPath: path)
let provider = LocalFileImageDataProvider(fileURL: url)
imageView.kf.setImage(with: provider)
Так что на «странице UICollectionView» я могу использовать его вот так:
let url = URL(fileURLWithPath: path)
let provider = LocalFileImageDataProvider(fileURL: url)
let processor = DownsamplingImageProcessor(size: size)
imageView.kf.setImage(with: provider, options: [.processor(processor)])
Так же, как и оникэшировал разные кеши изображений в механизм кеинга Kingfisher?Поскольку они, похоже, используют один и тот же cacheKey
в LocalFileImageDataProvider
.
public init(fileURL: URL, cacheKey: String? = nil) {
self.fileURL = fileURL
self.cacheKey = cacheKey ?? fileURL.absoluteString
}
Нужно ли настраивать cacheKey
для этих двух разных страниц?