2016-10-03 50 views
0

一旦我更新到alamofire 4版我得到的錯誤:呼叫額外的參數方法Alamofire V4額外的參數方法

Alamofire.request("www.blabla", method: .put, parameters: parameters, headers: headers, encoding: .JSON) 

我已經改變了它使用「的方法:。把」像以上但我仍然得到錯誤

回答

2

我有這個問題升級到Alamofire 4並通過移動headers參數並使其成爲調用中的最後一個參數來解決它。另外encoding: .JSON應該是encoding: JSONEncoding.default

電話應該是這樣的:

Alamofire.request(url: myUrl, method: .put, parameters: myParams, 
    encoding: JSONEncoding.default, headers: myHeaders) 
+0

我試圖切換到:Alamofire.request(URL: 「www.blabla」,方法:.POST,參數:參數,編碼:.JSON,headers:headers)但我仍然得到錯誤:/ – user2636197

+0

對於編碼,用'JSONEncoding.default'替換'.JSON'。原始答案已更新。 – DerFlickschter

+0

但我仍然得到:使用未解析的標識符JSONEnconding當我使用 Alamofire.request(「www.myUrl」,方法:.post,參數:參數,編碼:JSONEnconding.default,標頭:標頭) .responseJSON() – user2636197

2

是什麼類型parameters?它必須至少[:] - 樣:

Alamofire.request(url: myUrl, method: .put, parameters: [:], encoding: JSONEnconding.default, headers: myHeaders)

+0

像這樣:讓參數:[字符串:AnyObject] – user2636197

+0

是的。這是訣竅嗎? – midori

+0

但我仍然得到:使用未解析標識符JSONEnconding當我使用 Alamofire.request(「www.myUrl」,方法:.post,參數:參數,編碼:JSONEnconding.default,標頭:標頭) .responseJSON() – user2636197

0
Alamofire.request("http://....", method: .put , parameters: parameters, encoding: JSONEncoding.default).responseJSON{ 
      response in 
      if response.result.isSuccess { 
       //some code 
      } 
     } 
+0

這沒有幫助。 – midori

+0

@midori它適合我。 –

0

我打破了主意到的URLRequest,然後就在Alamofire電話。除了分手之外,我沒有發現任何工作。我使用Swift 3和XCode 8.2.1,我相信這是swift的sourceKit獲取對象錯誤。

Alamofire.request(url:treeURL!, method: .get, parameters: [:], encoding: JSONEncoding.default, headers: ["Authorization" : app.getToken()]) 

成爲這樣:

var request = URLRequest(url: treeURL!) 
    request.httpMethod = "GET" 
    request.allHTTPHeaderFields = ["Authorization" : app.getToken()] 
    Alamofire.request(request as URLRequestConvertible)