Kingfisher v5.7.0対応の既存Swiftソースの修正


 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