2015-05-09 51 views
0

有人可以用一個問題來幫助這個新手。我創建了以下類使用Xcode 6.3.1的Alamofire請求在Swift中出現問題

import Foundation 

class Search { 

var firstName: String 
var lastName: String 
var dob: String 


init(firstName: String, lastName: String, dob: String) 
{ 

    self.firstName = firstName 
    self.lastName = lastName 
    self.dob = dob 
} 

} 

然後我導入Alamofire到我的swift項目中,因爲我想向其他Web服務發出json請求。

這是我的要求

let searchParameters = Search(firstName: "frankie", lastName: "jones",dob: "09-08-1995") 

    request(.GET, "http://blahblahblah/get", parameters: searchParameters) 
     .response { (request, response, data, error) in 
      println(request) 
      println(response) 
      println(error) 

那麼,爲什麼我收到以下錯誤:

Cannot invoke 'response' with an argument list of type ((,,_))->)'??

什麼想法? Thx

+0

我認爲這個問題與你的參數有關,比如你如何發送它......嘗試首先使用簡單的聲明,比如'let parameters = [「foo」:「bar」]'並檢查 –

+0

感謝您的回覆。 @Bhavin你的上面的解決方案很好,但我的休息服務接受我試圖通過的格式的對象。當然,將對象傳遞給休息服務是常見做法嗎?我有一個朋友正在使用JavaScript傳遞對象,我認爲它被稱爲stringify到相同的休息服務沒有問題,當然swift基於JavaScript,所以有人必須實現這個?請幫助大聲笑:) – Chris

+0

如果你可以發佈cURL的例子,你會發生什麼,它會更容易協助。另外,正如@Bhavin所說,你的'searchParameters'需要是字典的形式,而不是自定義對象。 – cnoon

回答

0

AFNetworking無法處理您的搜索對象。將其轉換爲字典並將字典表示傳遞給請求方法。