使用 Swift 2 和核心数据读取 Int32 时崩溃
Crash with reading Int32 with Swift 2 and core data
尝试使用 Xcode 7.3 从 NSDictionary 中读取 Swift (2) 中的数据我遇到了臭名昭著的 EXC_BAD_INSTRUCTION (code=EXCI386_INVOP,subcode=0X0 ) 尝试此操作时出错:
let aDict = data as! NSDictionary
car.tempo = aDict["tempo"] as! Int32
虽然没有编译器警告。我知道过去 Xcode、Swift 和 Int32s 存在问题。有什么建议可以更好地处理这个问题吗? TIA!
可能因为不清楚 - 上面显示的数据保证包含来自 plist 文件的数据并且 aDict["tempo"] 是一个 NSNumber。
您没有为键 "tempo"...
的 aDict 设置值
感谢您的建议。数据没有问题,如果是这样,就不应该出现 EXC_BAD_INSTRUCTION (code=EXCI386_INVOP,subcode=0X0) 错误。这显然是 Xcode 中的错误,我将提交雷达。
像下面这样重新制定在 Xcode 7.3 中确实有效,因为 NSNumber 被解包为 Int32:
car.tempo = (aDict["tempo"]?.intValue)!
再次感谢!
尝试使用 Xcode 7.3 从 NSDictionary 中读取 Swift (2) 中的数据我遇到了臭名昭著的 EXC_BAD_INSTRUCTION (code=EXCI386_INVOP,subcode=0X0 ) 尝试此操作时出错:
let aDict = data as! NSDictionary
car.tempo = aDict["tempo"] as! Int32
虽然没有编译器警告。我知道过去 Xcode、Swift 和 Int32s 存在问题。有什么建议可以更好地处理这个问题吗? TIA!
可能因为不清楚 - 上面显示的数据保证包含来自 plist 文件的数据并且 aDict["tempo"] 是一个 NSNumber。
您没有为键 "tempo"...
的 aDict 设置值感谢您的建议。数据没有问题,如果是这样,就不应该出现 EXC_BAD_INSTRUCTION (code=EXCI386_INVOP,subcode=0X0) 错误。这显然是 Xcode 中的错误,我将提交雷达。 像下面这样重新制定在 Xcode 7.3 中确实有效,因为 NSNumber 被解包为 Int32:
car.tempo = (aDict["tempo"]?.intValue)!
再次感谢!