返回响应中的错误'无法调用非函数类型'NSHTTPURLResponse?'的值与斯威夫特 3
Posted
技术标签:
【中文标题】返回响应中的错误\'无法调用非函数类型\'NSHTTPURLResponse?\'的值与斯威夫特 3【英文标题】:error in return response 'cannot call value of non-function type 'NSHTTPURLResponse?' with Swift 3返回响应中的错误'无法调用非函数类型'NSHTTPURLResponse?'的值与斯威夫特 3 【发布时间】:2017-02-27 11:02:16 【问题描述】:我也阅读了其他问题的答案,但无法解决:
我尝试了以下方式,但在 返回响应(responseSerializer:responseSerializer,completionHandler:completionHandler)
请帮助我们如何在以下方法中添加@escaping。
public func JSONResponseObject<T: ResponseObjectSerializable>(_ completionHandler: @escaping (DataResponse<T>) -> Void) -> Self
let responseSerializer = DataResponseSerializer<T> request, response, data, error in
guard error == nil else return .failure(error!)
let jsonResponseSerializer = DataRequest.jsonResponseSerializer(options: .allowFragments)
let result = jsonResponseSerializer.serializeResponse(request, response, data, nil)
print("result: \(result.value)")
switch result
case .success(let value):
let json = JSON(value)
print("JSON: \(json)")
if let
response = response,
let responseObject = T(response: response, representation: value as AnyObject)
return .success(responseObject)
else
let error = Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(error: -6006 as! Error)
return .failure(error as! Error)
case .failure(let error):
let json = JSON(error)
print("JSON: \(json)")
return .failure(error)
return response(responseSerializer: responseSerializer,completionHandler: completionHandler)
【问题讨论】:
【参考方案1】:我现在通过以下方式解决了
我设置了 extension DataRequest 而不是在 extension Request
【讨论】:
以上是关于返回响应中的错误'无法调用非函数类型'NSHTTPURLResponse?'的值与斯威夫特 3的主要内容,如果未能解决你的问题,请参考以下文章
Swift 3 错误“无法调用非函数类型 'UITableView!' 的值” [关闭]