无法调用非函数类型HTTPURLResponse的值?

时间:2016-10-09 04:26:17

标签: swift3 xcode8

我正在使用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!)!
一切顺利 托尼

1 个答案:

答案 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一样,解决了我继续处理错误和数据的问题。