ios – AlamofireImage:无法从af_setImageWithURL获取完成块中的图像

前端之家收集整理的这篇文章主要介绍了ios – AlamofireImage:无法从af_setImageWithURL获取完成块中的图像前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所有

我正在学习Swift,我正在尝试使用AlamofireImage在UIImageView上设置图像.我使用以下代码

  1. self.listImageView.af_setImageWithURL(
  2. NSURL(string: list!.image!)!,placeholderImage: nil,filter: nil,imageTransition: .CrossDissolve(0.5),completion:{ image in
  3. print(image)
  4. }
  5. )

并且控制台中的结果如下:

  1. SUCCESS: <UIImage: 0x7fb0c3ec3d30>,{512,286}

我的目标是在下载后对图像做一些事情,但问题是我不理解完成回调的签名,我不知道如何访问完成块中的图像.根据文档,结果< UIImage,NSError>.

我想这很简单,但我没有意识到.

谢谢

解决方法

传递到完成块的图像变量实际上是 Alamofire.Response类型,而不是获取的底层UIImage实例本身.

您需要更新完成块,如下所示,以便从响应中获取实际图像:

  1. self.listImageView.af_setImageWithURL(
  2. URL(string: list!.image!)!,completion: { response in
  3. print(response.result.value) # UIImage
  4. print(response.result.error) # NSError
  5. }
  6. )

您可能首先要检查response.result.isSuccess(或他的兄弟response.result.isFailure)以确定图像是否已成功检索.

猜你在找的iOS相关文章