Response<AnyObject, NSError> 在 Alamofire4/Swift3 中未声明的类型
Posted
技术标签:
【中文标题】Response<AnyObject, NSError> 在 Alamofire4/Swift3 中未声明的类型【英文标题】:Response<AnyObject, NSError> undeclared type in Alamofire4/Swift3 【发布时间】:2016-12-30 23:18:28 【问题描述】:我正在将旧代码更新到新的 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 更新后的函数签名中,我没有得到“使用未声明的类型响应”,我不知道如何解决这个问题。我一直在寻找Alamofire 4 migration,但找不到任何东西。有人有想法吗?
【问题讨论】:
【参考方案1】:Response<AnyObject, NSError>
现在是 DataResponse<Any>
。看看new implementation of responseJSON
。
【讨论】:
【参考方案2】:正如@Rob Napier 所说,现在它已更改为DataResponse
。例如,如果您想要responseString
,它应该看起来像这样
DataResponse<String>
而且,它将处理.failure
部分中的任何错误。你必须在新的Alamoire
中关注更多。最好在 github Alamofire 中参考他们的文档,此外,如果您想了解新的 Router
类实现,请使用 *** Question。
【讨论】:
以上是关于Response<AnyObject, NSError> 在 Alamofire4/Swift3 中未声明的类型的主要内容,如果未能解决你的问题,请参考以下文章
上下文闭包类型 Response<AnyObject> -> void 需要 1 个 agrument,但 3 个在闭包主体中
无法将 '[String : AnyObject]?.Type' 类型(又名 'Optional<Dictionary<String, AnyObject>>.Type)的值转
在 Swift 中使用 JSON 的 Alamofire 请求后,如何在 AnyObject 中转换 <AnyObject> 响应?