以下代码在XCode 6 / Swift 1上运行正常,但在XCode 7 / Swift 2上给出了错误
Alamofire.request(.POST, "\(self.REQ_URL)", parameters: parameters).validate(contentType: ["application/json"]).responseJSON(options: [], completionHandler: { (req, resp, data) -> Void in
let data_ar = data as! NSArray //here I get the error
})
我得到的错误是
来自'结果'不相关的类型&#NS; NSArray'总是失败
我应该如何使用返回的JSON?
答案 0 :(得分:3)
似乎语法已经改变,以下工作
Alamofire.request(.POST, "\(self.REQ_URL)", parameters: parameters)
.responseJSON { request, response, result in
switch result {
case .Success(let data):
let data_ar = data as! NSArray
case .Failure(let data, let error):
print("Request failed with error: \(error)")
}
}
答案 1 :(得分:2)
如果您正在使用swiftyjson进行xcode 7分支,
Alamofire.request(.POST, "\(self.REQ_URL)", parameters: parameters)
.responseJSON { request, response, result in
switch result {
case .Success(let data):
let json = JSON(data)
let something = json["aaa"].string
....
case .Failure(let data, let error):
print("Request failed with error: \(error)")