我正在阅读教程并尝试向alamofire
属性列表发出请求。在响应属性列表的闭包中,我使用 arguments (_, _, result)
。但是,XCode 给了我错误:
无法将类型“(_,_,_)-> Void”的值转换为预期的参数类型“响应-> Void”
我正在使用alamofire 3.0
测试版。
我正在阅读教程并尝试向alamofire
属性列表发出请求。在响应属性列表的闭包中,我使用 arguments (_, _, result)
。但是,XCode 给了我错误:
无法将类型“(_,_,_)-> Void”的值转换为预期的参数类型“响应-> Void”
我正在使用alamofire 3.0
测试版。
根据存储库中的版本,Alamofire 现在是 3.3 版,因为 3.0 版它有一点变化。
在您使用响应处理程序时,您的闭包需要如下所示:
Alamofire.request(.GET, "https://httpbin.org/get", parameters: ["foo": "bar"])
.response { request, response, data, error in
print(request)
print(response)
print(data)
print(error)
}
如果您使用例如响应 JSON 处理程序,所有内容现在都封装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)
}
}
我希望这对你有帮助。
这对我有用,如果对您不起作用,请粘贴您的代码以检查问题。
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
}
}