Alamofire 响应 属性 列表
Alamofire Response Property List
我正在学习教程并尝试向 属性 列表发出 alamofire
请求。在响应 属性 列表的闭包中,我使用参数 (_, _, result)
。但是,XCode 给我错误:
Cannot convert value of type '(_, _, _) -> Void' to expected argument
type 'Response -> Void'
我正在使用 alamofire 3.0
测试版。
这对我有用,如果对你不起作用,请粘贴你的代码以检查问题。
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
}
}
根据存储库中的发布,Alamofire 现在是 3.3 版,自 3.0 版以来它发生了一些变化。
在你使用 Response Handler 你的闭包需要看起来像这样:
Alamofire.request(.GET, "https://httpbin.org/get", parameters: ["foo": "bar"])
.response { request, response, data, error in
print(request)
print(response)
print(data)
print(error)
}
如果您使用例如 Response JSON Handler,现在所有内容都封装在 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)
}
}
希望对你有所帮助。
我正在学习教程并尝试向 属性 列表发出 alamofire
请求。在响应 属性 列表的闭包中,我使用参数 (_, _, result)
。但是,XCode 给我错误:
Cannot convert value of type '(_, _, _) -> Void' to expected argument type 'Response -> Void'
我正在使用 alamofire 3.0
测试版。
这对我有用,如果对你不起作用,请粘贴你的代码以检查问题。
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
}
}
根据存储库中的发布,Alamofire 现在是 3.3 版,自 3.0 版以来它发生了一些变化。
在你使用 Response Handler 你的闭包需要看起来像这样:
Alamofire.request(.GET, "https://httpbin.org/get", parameters: ["foo": "bar"])
.response { request, response, data, error in
print(request)
print(response)
print(data)
print(error)
}
如果您使用例如 Response JSON Handler,现在所有内容都封装在 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)
}
}
希望对你有所帮助。