Kingfisher v5.7.0対応の既存Swiftソースの修正
10907 ワード
Kingfisherバージョンを最新のv5.7.0にあげると既存いくつのメソットが
deprecatedされたので、その対応をメモして置きます。 Swiftバージョンは4.2
1) KingfisherManager.shared.cache.retrieveImageInDiskCache() メソット
ImageDownloader.swift
let diskImage = KingfisherManager.shared.cache.retrieveImageInDiskCache(forKey:URLString)
以下のようにクローチャでImageを読み込むように
ImageDownloader.swift
var diskImage : UIImage? = nil
KingfisherManager.shared.cache.retrieveImageInDiskCache(forKey:URLString) { result in
switch result {
case .success(let value):
if let image = value?.alwaysOriginal {
diskImage = image
}
case .failure(let error):
print("Error: \(error)")
}
}
2) KingfisherManager.shared.cache.store() メソット
ImageDownloader.swift
KingfisherManager.shared.cache.store(roundedImage, original: originalData, forKey: URLString, toDisk: true, completionHandler: {
print("キャッシュ後の処理")
})
以下のようにクローチャでそれぞれメモリキャッシュとハードディスクキャッシュ後の処理をそれぞれ対応できるように
ImageDownloader.swift
let parsedOptions = KingfisherParsedOptionsInfo([])
KingfisherManager.shared.cache.store(roundedImage, original: originalData, forKey: URLString, options: parsedOptions, toDisk: true, completionHandler: { result in
switch result.memoryCacheResult {
case .success():
print("メモリキャッシュ成功後の処理")
}
switch result.diskCacheResult {
case .success():
print("ハードディスクキャッシュ成功後の処理")
case .failure(let error):
print("Error: \(error)")
}
})
3) KingfisherManager.shared.downloader.downloadImage() メソット
ImageDownloader.swift
KingfisherManager.shared.downloader.downloadImage(with: URL, options: optionInfo, progressBlock: progressBlock) { (image, error, imageURL, originalData) -> () in
if let image = image, let originalData = originalData {
print("ダウンロードされたImageの処理")
}
}
以下のようにクローチャのresult結果でそれぞれのImageとDataを取得するように
ImageDownloader.swift
KingfisherManager.shared.downloader.downloadImage(with: URL, options: optionInfo, progressBlock: progressBlock) {
result in
switch result {
case .success(let value):
let image = value.image
let originalData = value.originalData
print("ダウンロードされたImageの処理")
case .failure(let error):
print("Error: \(error)")
}
}
詳しい説明になりませんが、助けになったらと思います。
間違い所がありましたら、ご指摘くださいますように。
参考URL:
https://github.com/onevcat/Kingfisher/wiki/Kingfisher-5.0-Migration-Guide
Author And Source
この問題について(Kingfisher v5.7.0対応の既存Swiftソースの修正), 我々は、より多くの情報をここで見つけました https://qiita.com/ENIX/items/ad4e762c1f99a4c846e8著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .