【发布时间】:2016-09-24 01:06:51
【问题描述】:
Swift 3 改变了 NSCoder 的工作方式。
正如其他 SO 问题所提到的,要解码 Int 或 Bool 等值类型,您必须使用特定函数。例如,decodeInteger 用于解码Int 值,如下所示:
let value = decodeInteger(forKey key: TestKey)
但是如果从decodeInteger 返回的值是String 或Bool 或Int 以外的其他值呢?
或者如果 TestKey 实际上没有映射,因为它包含错误的键数据怎么办?
如何优雅地捕捉这些错误?
【问题讨论】:
-
@LeoDabus 0 是一个有效的整数。如何区分 0 的有效和无效情况?