Swift3 翠鸟和swift 3-无法使用url设置图像

Swift3 翠鸟和swift 3-无法使用url设置图像,swift3,kingfisher,Swift3,Kingfisher,通过查看文档和迁移指南,我应该能够使用以下代码设置新映像: imageView.kf.setImage(with:url ...) 但实际上我在图书馆里找不到这个方法,我只看到: imageView.kf.setImage(with:Resource... ) 我不知道这个资源应该如何工作,因为我在文档中找不到任何东西 资源是一种协议URL已扩展以符合此协议。因此,您可以: let url = URL(string: ...)! imageView.kf.setImage(with: ur

通过查看文档和迁移指南,我应该能够使用以下代码设置新映像:

imageView.kf.setImage(with:url ...) 
但实际上我在图书馆里找不到这个方法,我只看到:

imageView.kf.setImage(with:Resource... )

我不知道这个资源应该如何工作,因为我在文档中找不到任何东西

资源
是一种协议<代码>URL已扩展以符合此协议。因此,您可以:

let url = URL(string: ...)!
imageView.kf.setImage(with: url)

如果您想控制翠鸟在缓存中使用的密钥,可以使用
ImageResource

let identifier = "..."
let url = URL(string: "http://example.com/images/identifier=\(identifier)")!
let resource = ImageResource(downloadURL: url, cacheKey: identifier)

imageView.kf.setImage(with: resource)

我使用以下方法修复了该问题:

PhotoHelper.shared.imagePickedBlock = { [weak self] (image, url) in
      self?.imageView.kf.setImage(with: url, placeholder: image, options: nil, progressBlock: nil, completionHandler: { imageResult, error, type, cache in
        self?.imageView.image = image
      })
    }
PhotoHelper是本机图像选择器上的包装器:

    func imagePickerController(_ picker: UIImagePickerController,     didFinishPickingMediaWithInfo info: [String : Any]) {
          currentVC.dismiss(animated: true, completion: {
            if let image = info[UIImagePickerControllerOriginalImage] as? UIImage {
              let url = info[UIImagePickerControllerReferenceURL] as! URL
              self.imagePickedBlock?(image, url)
             }
          })
      }

适用于Swift 4.2

import Kingfisher

extension UIImageView {
    func setImage(with urlString: String){
        guard let url = URL.init(string: urlString) else {
            return
        }
        let resource = ImageResource(downloadURL: url, cacheKey: urlString)
        var kf = self.kf
        kf.indicatorType = .activity
        self.kf.setImage(with: resource)
    }
}
如何使用

self.imgVw.setImage(with: your image url)