来自&#39;结果<anyobject>&#39;不相关的类型&#NS; NSArray&#39;总是失败

时间:2015-08-02 10:41:46

标签: swift swift2 alamofire

以下代码在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 

        })

我得到的错误是

  

来自&#39;结果&#39;不相关的类型&#NS; NSArray&#39;总是失败

我应该如何使用返回的JSON?

2 个答案:

答案 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)")