2017-02-27 44 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 {}現在解決

相關問題