AlamofireImage:无法从 af_setImageWithURL 的完成块中获取图像
AlamofireImage: Can't get image in completion block from af_setImageWithURL
全部
我正在学习 Swift 并且我正在尝试使用 AlamofireImage 在 UIImageView 上设置图像。我正在使用以下代码:
self.listImageView.af_setImageWithURL(
NSURL(string: list!.image!)!,
placeholderImage: nil,
filter: nil,
imageTransition: .CrossDissolve(0.5),
completion:{ image in
print(image)
}
)
控制台中的结果如下:
SUCCESS: <UIImage: 0x7fb0c3ec3d30>, {512, 286}
我的 objective 是在下载图片后对其进行处理,但问题是我不理解完成回调的签名,也不知道如何访问图片在完成块中。根据文档,是 Result<UIImage, NSError>
.
我想这很简单,但我没有意识到。
谢谢
传递到完成块中的image
变量实际上是Alamofire.Response
类型,而不是获取的底层UIImage
实例本身。
您需要像下面这样更新完成块,以便从响应中获取实际图像:
self.listImageView.af_setImage(
withURL: URL(string: list!.image!)!,
placeholderImage: nil,
filter: nil,
imageTransition: .crossDissolve(0.5),
completion: { response in
print(response.value) # UIImage
print(response.error) # NSError
}
)
您可能首先要检查response.result.isSuccess
(或他的兄弟response.result.isFailure
)以确定图像是否已成功检索。
全部
我正在学习 Swift 并且我正在尝试使用 AlamofireImage 在 UIImageView 上设置图像。我正在使用以下代码:
self.listImageView.af_setImageWithURL(
NSURL(string: list!.image!)!,
placeholderImage: nil,
filter: nil,
imageTransition: .CrossDissolve(0.5),
completion:{ image in
print(image)
}
)
控制台中的结果如下:
SUCCESS: <UIImage: 0x7fb0c3ec3d30>, {512, 286}
我的 objective 是在下载图片后对其进行处理,但问题是我不理解完成回调的签名,也不知道如何访问图片在完成块中。根据文档,是 Result<UIImage, NSError>
.
我想这很简单,但我没有意识到。
谢谢
传递到完成块中的image
变量实际上是Alamofire.Response
类型,而不是获取的底层UIImage
实例本身。
您需要像下面这样更新完成块,以便从响应中获取实际图像:
self.listImageView.af_setImage(
withURL: URL(string: list!.image!)!,
placeholderImage: nil,
filter: nil,
imageTransition: .crossDissolve(0.5),
completion: { response in
print(response.value) # UIImage
print(response.error) # NSError
}
)
您可能首先要检查response.result.isSuccess
(或他的兄弟response.result.isFailure
)以确定图像是否已成功检索。