响应<anyobject,nserror =“”> Alamofire4 / Swift3

时间:2016-12-30 23:18:28

标签: swift swift3 alamofire

我正在通过旧代码更新到新的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,但无法找到任何内容。一个人有想法吗?

2 个答案:

答案 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