如何解决如何在Swift 2中获取Alamofire.requestresponseJSON的结果值?
可接受的答案非常有用,但是随着Alamofire 3.0.0的引入,一些重大更改会影响此实现。 该迁移指南有进一步的解释,但我会强调与实际的解决方案的人。
还应考虑到Alamofire会将任何已完成的请求视为成功,而不管响应的内容如何。因此,您需要先打上“ a”.validate()
才能.responseJSON()
打.Failure
案件。在此处了解更多信息。
更新的代码:
let url = "http://api.myawesomeapp.com"
Alamofire.request(.GET, url).validate().responseJSON { response in
switch response.result {
case .Success(let data):
let json = JSON(data)
let name = json["name"].stringValue
print(name)
case .Failure(let error):
print("Request failed with error: \(error)")
}
}
以供参考:
- Xcode 7.3(Swift 2.2)
- Alamofire 3.3.1
- SwiftyJSON 2.3.3
解决方法
我对Swift 2的新版本Alamofire有疑问
Alamofire.request(.POST,urlString,parameters: parameters as? [String : AnyObject])
.responseJSON { (request,response,result) -> Void in
let dico = result as? NSDictionary
for (index,value) in dico! {
print("index : \(index) value : \(value)")
}
}
在本节中,我想将结果投射到NSDictionary中。但是当我编译并设置一个断点时,调试器说dico为零。如果我使用debugDescription打印结果,则它不是nil,并且包含我所期望的内容。如何转换Result变量?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。