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/