2016-03-27 16 views
3

私はチュートリアルを行っており、alamofireリクエストをプロパティリストに作成しようとしています。応答プロパティリストのクロージャでは、引数(_, _, result)を使用します。しかし、XCodeは私にエラーを与えます:Alamofireレスポンスプロパティリスト

Cannot convert value of type '(_, _, _) -> Void' to expected argument type 'Response -> Void'

私はalamofire 3.0ベータを使用しています。

答えて

1

Alamofireは今、それが少し変更あり、バージョン3.0以降、リポジトリ内のリリースによると、バージョン3.3です。あなたに

Response Handlerあなたの閉鎖を使用し、このように見える必要があります。

Alamofire.request(.GET, "https://httpbin.org/get", parameters: ["foo": "bar"]) 
    .response { request, response, data, error in 
     print(request) 
     print(response) 
     print(data) 
     print(error) 
     } 

そして、あなたは、例えば使用する場合Response JSON Handlerすべてが、このコードのようにresponseになりましカプセル化されています

Alamofire.request(.GET, "https://httpbin.org/get", parameters: ["foo": "bar"]) 
    .responseJSON { response in 
     print(response.request) // original URL request 
     print(response.response) // URL response 
     print(response.data)  // server data 
     print(response.result) // result of response serialization 

     if let JSON = response.result.value { 
      print("JSON: \(JSON)") 
     } 
    } 

またはこのコードを使用すると、より簡単に処理できます。

Alamofire.request(.GET, "https://httpbin.org/get", parameters: ["foo": "bar"]) 
    .responseJSON { response in 
     switch(response.result) { 
     case .Success(let value): 
      if let JSON = value { 
       print("JSON: \(JSON)") 
      } 
     case .Failure(let error): 
      print(error.description)  
     } 
    } 

私はこれがあなたを助けてくれることを願っています。

1

これは私にとってはうまくいかない場合は、問題を調べるためにコードを貼り付けてください。

var params : Dictionary<String,String> = ["key":"value"] 
Alamofire.request(.POST, "someURL" ,parameters: params).responseJSON() 
{ 
    response in 

    let data = JSON(response.result.value!) 

    if(data != nil) 
    { 
     var status = data["status"] as? String 
    } 
} 
関連する問題