【发布时间】:2016-06-30 13:23:35
【问题描述】:
我已将我的项目迁移到 Swift 3 并且 NSKeyedArchiver 不起作用。在尝试像这样解码对象时,我实际上遇到了运行时错误:
let startDayTime = aDecoder.decodeObject(forKey: Key.startDayTime) as! Int
它在 Xcode 7.3 中的 Swift 2.2 中完美运行。有没有其他人遇到过这样的麻烦?
附:我在模拟器和设备上都有这个错误。
【问题讨论】:
-
请添加您的错误输出。
-
可能是对象为
nil或转换为Int失败。您应该在强制转换之前查看decodeObject的结果,看看哪个是问题所在。另外,仅供参考,在处理整数时,您可以使用decodeInteger(forKey: )。 -
您应该添加解决方案作为答案
-
Apple 在玩弄我们的神经。我一直在尝试调试这个几个小时。这似乎令人难以置信,但他们不得不让 decodeObjece 成为?内部失败!!!!