2016-03-27 16 views
3

Bir eğiticiden geçiyorum ve bir özellik listesine alamofire isteği göndermeye çalışıyorum. Yanıt özelliği listesi için kapatımda, (_, _, result) argümanlarını kullanıyorum. Ben alamofire 3.0 beta kullanıyorumAlamofire Response Özellik Listesi

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

: Ancak, XCode bana hata veriyor.

cevap

1

Alamofire şu anda 3.0 sürümü beri biraz değiştirmek etti, sürüm deposundaki açıklamalarda 3.3 içindedir.

Eğer Response Handler sizin kapatılmasını kullanmak ise

böyle bakmak gerekir:

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

Ve örneğin kullanırsanız Response JSON Handler herşey bu kodda olduğu gibi response şimdi kapsüllenir:

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)") 
     } 
    } 

Veya daha kolay kullanım için bu kodu kullanabilirsiniz:

Umarım bu size yardımcı olur.

1

Bu sizin için çalışıyor, eğer sizin için uygun değilse, problemi kontrol etmek için kodunuzu yapıştırın lütfen.

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 
    } 
} 
İlgili konular