2017-02-27 2 views
-1

と私はまた、しかし、解決することができない他の質問から答えを読む:戻り値の応答にエラーがあります。 'NSHTTPURLResponse'以外の関数型の値を呼び出せません。スウィフト3

私は道従うが 戻り応答のラインで同じエラーを取得してみました(responseSerializer:responseSerializer、completionHandler:completionHandler)

下記の方法で@エスケープを追加する方法をお手伝いください。

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 {}を設定する方法

を以下に今解決

関連する問題