SwiftyJSON:调用segue但连接尝试获取数据

时间:2015-08-08 08:37:21

标签: json swift

我的ViewController设置为更新服务器上的JSON数据。这非常有效。但是当我设置我的VC以执行一个segue回到另一个segue时,它崩溃了以下语句:

  

致命错误:在解包可选值时意外发现nil

这就发生在这一行:

let jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as! NSArray

错误发生在" UpdateVC"并且segue指向" ListVC"。

1 个答案:

答案 0 :(得分:2)

该陈述的结尾部分是强制解包:

as! NSArray

因为它抛出一个异常,它意味着:

  • 返回值为nil
  • 无法将返回值转换为NSArray

我无法说出正确的处理方式,因为它取决于您的应用逻辑。如果演员应该(理想情况下)总是成功,那么你的应用中可能有一个错误。另一方面,如果演员阵容可能没有成功,那么最好的方法是用可选的绑定来保护它:

if let jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as? NSArray {
    // do something
}