我正在通过旧代码更新到新的iOS和Swift版本,因此Alamofire版本到目前为止一直是一个巨大的头痛。我有这个代码,我已经简化了
fileprivate func fetchOuttings(_ type: MyType, callback: ((Response<AnyObject, NSError>) -> ())?) {
/* ... */
Alamofire.request(url, method: .get, parameters: nil, encoding: JSONEncoding.default, headers: header).responseJSON(completionHandler: { response in
if let _callback = callback {
_callback(response)
}
})
}
在Swift3 / Alamofire4更新后的功能签名中,我没有得到未使用类型的响应&#39;我无法弄清楚如何解决这个问题。我一直在查看Alamofire 4 migration,但无法找到任何内容。一个人有想法吗?
答案 0 :(得分:4)
Response<AnyObject, NSError>
现在是DataResponse<Any>
。看看new implementation of responseJSON
。
答案 1 :(得分:1)
现在它变成了DataResponse
,因为@Rob纳皮尔说。例如,如果你想要responseString
它应该是这样的
DataResponse<String>
此外,它还会处理.failure
部分中的任何错误。您必须在新Alamoire
中关注更多内容。最好在github Alamofire中引用他们的文档,如果你想了解新的Router
课程实现,请使用StackOverflow Question。