首页 文章

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

提问于
浏览
0

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

致命错误:在展开Optional值时意外发现nil

这发生在这一行:

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

错误发生在“UpdateVC”上,segue指向“ListVC” .

1 回答

  • 2

    该声明的结尾部分是强制解包:

    as! NSArray
    

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

    • 返回值为 nil

    • 返回值无法强制转换为 NSArray

    我不能说正确的处理方式是什么,因为它取决于你的app逻辑 . 如果演员应该(理想情况下)总是成功,那么你的应用中可能有一个错误 . 另一方面,如果强制转换可能没有成功,那么最好的方法是使用可选绑定来保护它:

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

相关问题