Xcode迫使我将swift 2.3的一些旧语法更新到3.0。Alamofire是4.0.1。当尝试构建一个项目时,由于call中有额外的参数而失败。
Alamofire.request(url, .GET, parameters: ["part":"snippet,contentDetails", "key": API_KEY,"maxResults":50, "channelId":channelId], encoding: ParameterEncoding.URL, headers: nil).responseJSON { (response) in
如何解决这个问题?它出现在超过6个文件在项目。几乎完全相同的错误
像下面这样调用
Alamofire.request(url,
parameters: ["part":"snippet,contentDetails", "key": API_KEY,"maxResults":50, "channelId":channelId],
encoding: URLEncoding.default)
.responseJSON { (response) in
}
我希望它会起作用。想了解更多信息,你可以点击链接https://github.com/Alamofire/Alamofire get-request-with-url-encoded-parameters
在将Swift 2.3迁移到Swift 3之后,您还需要更改为Alamofire Library方法,需要像这样调用
迅速3
let parameters = ["action":"cms", "id":"1"]
Alamofire.request("Your webAPI link here", method: .get, parameters: parameters)
.responseJSON { response in
print("Success: (response.result.isSuccess)")
print("Response String: (response.result.value)")
switch response.result {
case .success:
self.successGetTermsData(response.result.value! as AnyObject)
case .failure(let error):
self.failedGetData()
print(error)
}
}
为了更好地理解你也可以检查这个- Alamofire 4.0迁移指南