2017-02-27 29 views
-1

,我读了其他问题,也可是不能够回答解决:错误返回响应'无法调用非函数类型的值'NSHTTPURLResponse?'与斯威夫特3

我试着用以下的方式,但在 返回响应行得到同样的错误(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) 
} 

回答

0

我在,而不是延期请求{}以下方式

我设置扩展DataRequest {}现在解决

相关问题