无法调用非函数类型 HTTPURLResponse 的值?
Posted
技术标签:
【中文标题】无法调用非函数类型 HTTPURLResponse 的值?【英文标题】:Cannot call value of non-function type HTTPURLResponse? 【发布时间】:2016-10-09 04:26:16 【问题描述】:我正在使用 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。但是当我这样做时,我不能去 if err == nil bloc 并将图像设置为数据。有没有办法解决这个问题。代码如下。
request = Alamofire.request( post.imageUrl!).validate(contentType: ["application/json"]).response response in
debugPrint(response)
if error == nil
let image = UIImage(data: data!)!
一切顺利 托尼
【问题讨论】:
你检查过this吗? 【参考方案1】:我查看了文档并能够解决这个问题。通过将代码更改为。
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
相同,解决了我继续处理错误和数据的问题。
【讨论】:
以上是关于无法调用非函数类型 HTTPURLResponse 的值?的主要内容,如果未能解决你的问题,请参考以下文章
Alamofire 4:无法调用非函数类型“HTTPURLResponse?”的值
无法调用非函数类型“HTTPURLResponse?”的值- 阿拉莫菲尔 4.0
无法调用非函数类型“HTTPURLResponse?”的值阿拉莫菲尔 4,斯威夫特 3
Swift 3.0 迁移后的 Alamofire 错误:“无法将 '(URL, HTTPURLResponse)-> (URL)' 类型的值转换为预期的参数类型 'Parameters'”?