2016-12-30 45 views
3

我正在通过旧代码更新到新的iOS和Swift版本,因此Alamofire版本及其迄今为止的巨大头痛。我有这样的代码,我已经简化响应<AnyObject,NSError>在Alamofire4中未声明的类型/ Swift3

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更新我没有收到“未声明的类型响应的使用”后函数签名,我无法弄清楚如何解决这个问题。我一直在寻找所有通过Alamofire 4 migration,但找不到任何东西。有一个想法?

回答

1

现在它已改为DataResponse @Rob Napier说。作为一个例子,如果你想responseString它应该看起来像这样

DataResponse<String>而且,它也会处理.failure部分中的任何错误。你必须在新的Alamoire中遵循更多。更好地参考他们的文档在github Alamofire以及,如果你想知道新的Router类的实施去与StackOverflow Question