【问题标题】:Alamofire flat error: unexpectedly found nil while unwrapping an Optional valueAlamofire 平面错误:在展开可选值时意外发现 nil
【发布时间】:2016-02-14 08:30:13
【问题描述】:

我对 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)")
            }

    }

【问题讨论】:

  • 我的格式 REST API 数据:[{Phones":"+1 (100) 111-22-33","Phones2":null}]

标签: swift alamofire


【解决方案1】:

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

编辑:

您的 Json 字符串已损坏。 Phones 必须用双引号括起来。

像这样:

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

【讨论】:

    【解决方案2】:

    这是工作:

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

    希望对大家有所帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-07
      • 2016-01-26
      • 1970-01-01
      相关资源
      最近更新 更多