前言
今天把Kingfisher从5.13.2更新到6.3.0版本,发现使用下载图片的方法发生了改变,在此记录一下。
一、原来方法
ImageDownloader.default.downloadImage(with: URL(string: imageStr.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!)!) { image, error, url, data in
if let image = image {
MCTAlertViewController.showAlert(style: .noviceGuide(nil, image), target: self, action: #selector(self.signAction))
}else {
RedEnvelopePresenter.shared.show = true
}
}
二、更改方法
ImageDownloader.default.downloadImage(with: URL(string: imageStr.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!)!, options: [.backgroundDecode]) { <#Result<ImageLoadingResult, KingfisherError>#> in
<#code#>
}
在这里发现<#Result<ImageLoadingResult, KingfisherError>#>不知道填啥好了
三、解决方案
ImageDownloader.default.downloadImage(with: URL(string: imageStr.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!)!, options: [.backgroundDecode]) { [weak self] result in
var image: UIImage?
switch result {
case let .success(value): image = value.image
default:
break
}
//更新图片逻辑
if let image = image {
MCTAlertViewController.showAlert(style: .noviceGuide(nil, image), target: self, action: #selector(self?.signAction))
}else {
RedEnvelopePresenter.shared.show = true
}
}
还是去GitHub上面看更新日志才找到方法!
END.