本文介绍了JSONResponseSerializer&的Alamofire4麻烦HTTPURLResponse Swift 3.0的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
自更新Alamofire以来,出现以下错误:类型请求没有成员JSONResponseSerializer ,并且无法调用非功能类型HTTPURLResponse的值
Since I updated Alamofire I get the errors: Type Request has no member JSONResponseSerializer and cannot call value of non-function type HTTPURLResponse
我已经将Response切换为DataResponse,但仍然收到错误。
I have already switched Response to DataResponse but I still get the error.
代码:
extension Alamofire.Request {
func responseUserEventsArray(_ completionHandler: @escaping (DataResponse<UserEventsWrapper>) -> Void) -> Self {
let responseSerializer = DataResponseSerializer<UserEventsWrapper> { request, response, data, error in
guard error == nil else
{
return .failure(error!)
}
guard let responseData = data else {
return .failure(AFError.responseSerializationFailed(reason: .inputDataNil))
}
let JSONResponseSerializer = Request.JSONResponseSerializer(options: .allowFragments)
let result = JSONResponseSerializer.serializeResponse(request, response, responseData, error)
switch result {
case .Success(let value):
let json = JSON(value)
let wrapper = UserEventsWrapper()
wrapper.next = json["eventhistory"]["next_page_url"].stringValue
wrapper.previous = json["eventhistory"]["prev_page_url"].stringValue
wrapper.count = json["eventhistory"]["total"].intValue
var allUserEvents:Array = Array<UserEvents>()
print(json)
let results = json["eventhistory"]["data"]
print(results)
for jsonAds in results
{
print(jsonAds.1)
let adsData = UserEvents(json: jsonAds.1, id: Int(jsonAds.0))
allUserEvents.append(adsData)
}
wrapper.usereventsitems = allUserEvents
return .success(wrapper)
case .Failure(let error):
return .Failure(error)
}
}
return response(responseSerializer: responseSerializer,completionHandler: completionHandler)
}
}
推荐答案
已编辑
更改
Request.JSONResponseSer ializer
到 DataRequest.jsonResponseSerializer
扩展Alamofire.Request
到扩展名Alamofire.DataRequest
– Mat0
.success
和 .failure
-FranMowinckel
.success
and .failure
- FranMowinckel
这篇关于JSONResponseSerializer&的Alamofire4麻烦HTTPURLResponse Swift 3.0的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!