func setlLabels(weatherData: NSData) {
    var jsonError: NSError?
    let json = NSJSONSerialization.JSONObjectWithData(weatherData, options: nil, error: &jsonError) as! NSDictionary
    // ...
}


在“ let json ...”行中构建后,出现诸如“线程1 exc_bad_instruction(code = exc_i386_invop子代码= 0x0)”的错误

我认为这与NSDicitionary有关,但我不知道如何解决。

Screenshot with the error

最佳答案

当您的应用程序中发生意外情况并且该应用程序崩溃时,会导致此错误。为了解决这个问题,有一些不应该为nil的变量,您可以强制展开它。 (!)固定版本如下所示:

func setlLabels(weatherData: NSData) {
    var jsonError: NSError?
    let json = NSJSONSerialization.JSONObjectWithData(weatherData, options: nil, error: &jsonError) as? NSDictionary
    // ...
}


如您所见,当您删除!之后的as并将其替换为?时,它不会崩溃。

关于json - exc_bad_instruction,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33069121/

10-09 00:10