作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Swift 3 中写了下面的方法
func postFormData(url : String, parameters: Parameters!, headers : HTTPHeaders!, completionHandler : (response : Any, error: Any)) {
Alamofire.request(url, method : .post, parameters: parameters, headers: headers)
.responseJSON { response in
if let status = response.response?.statusCode {
switch(status)
{
let data = result as! NSDictionary
case 200:
if let result = response.result.value {
completionHandler(data)
}
default:
completionHandler(nil, data)
}
}
}
}
completionHandler(data)
处收到一个错误,指出 Cannot call value of non-function type '(response: Any, error Any)'
completionHandler(nil, data)
是处理错误的最佳实践吗? PS:我是 iOS
和 Swift 3
最佳答案
您缺少 completionHandler
-> Void
和参数名称的返回值,我在此处添加了默认值 _
:
func postFormData(url : String, parameters: Parameters!, headers : HTTPHeaders!, completionHandler : (_ response : Any, _ error: Any) -> Void ) {
Alamofire.request(url, method : .post, parameters: parameters, headers: headers)
.responseJSON { response in
if let status = response.response?.statusCode {
switch(status)
{
let data = result as! NSDictionary
case 200:
if let result = response.result.value {
completionHandler(data)
}
default:
completionHandler(nil, data)
}
}
}
}
对于错误部分,我会添加一个 onError
作为 , onError: (NSError) -> Void)
并在发生错误时返回 onError。所以像这样:
func postFormData(url : String, parameters: Parameters!, headers : HTTPHeaders!, completionHandler : (_ response : Any, _ error: Any) -> Void, onError: (NSError) -> Void)
关于ios - Swift 3 - 无法调用非函数类型的值 '(response: Any, error Any)',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39904075/
我是一名优秀的程序员,十分优秀!