Alamofire flat error:在展开Optional值时意外发现nil

时间:2016-02-14 08:30:13

标签: swift alamofire

我对GET方法Alamofire有一些问题。当我得到数据时,我有错误:

EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0) 致命错误:在解包可选值时意外发现nil

我做错了什么?我的代码:

        let URLString = "http://MyURLWebService...";
        Alamofire.request(.GET, URLString)
        .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["Phones"] as! String)
                //print("JSON: \(JSON)")
            }

    }

2 个答案:

答案 0 :(得分:0)

我认为JSON对象没有名为"Phones"的成员。因此,最好使用而不是print(JSON["Phones"] as? String)

编辑:

您的Json字符串已损坏。您必须使用双引号包装Phones

像这样:

[{"Phones":"+1 (100) 111-22-33","Phones2":null}]

答案 1 :(得分:0)

这是工作:

            if let jsonResult = response.result.value {
                let Address = jsonResult[0]["Address"]
                let Phones = jsonResult[0]["Phones"]
                print("JSON:    Address: \(Address)")
                print("JSON: Phones: \(Phones)")
            }

我希望它可以帮助某人