我正在使用Swift 3中的Alamofire 4。
我收到错误说
无法调用非函数类型HTTPURLResponse的值?
我正在尝试下载图片并将其存储在缓存中,以下是我的代码,有人可以帮忙吗?
request = Alamofire.request(post.imageUrl!).validate(contentType: ["image/*"]).response(completionHandler: { request,data, err in
if err == nil {
let image = UIImage(data: data!)!
self.showcaseImage.image = image
FeedVC.imageCache.setObject(image, forKey: self.post.imageUrl!)
}
})
我发现我必须将顶部更改为.response。但是当我这样做时,我不能去,如果错误== nil bloc并将图像设置为数据。有没有办法来解决这个问题。代码如下。
request = Alamofire.request( post.imageUrl!).validate(contentType: ["application/json"]).response { response in
debugPrint(response)
if error == nil {
let image = UIImage(data: data!)!
一切顺利
托尼
答案 0 :(得分:0)
我查看了文档,并且能够解决这个问题。通过将代码更改为。
request = Alamofire.request(post.imageUrl!).validate(contentType: ["image/*"])
.response { response in
print(response.error)
if response.error == nil {
let image = UIImage(data: response.data!)!
我写了response.error然后是response.data,这跟调用request, response, data, error
一样,解决了我继续处理错误和数据的问题。