decodeDouble on NSCoder返回一个非可选的值,但我想确定一个值在编码之前是否为零。var optionalDouble: Double?= nil
if let optionalDouble { optionalDouble = aDecoder.decodeDouble(forKey:
我理解这些类是如何工作的,但我不明白为什么原始实现者编写了这两个类(NSKeyedArchiver和NSKeyedUnarchiver),而不是将编码和解码逻辑合并到一个类中。读取 a NSCoder 有编码和解码的方法。我唯一能想到的是代码很长,所以最初的实现者把它分成了2.在我看来,只使用一个类对开发人员来说会更方便,但也许我忽略了这方面的一些细微差别。NSCoder是否“方便”,因为它同时定义了编码/解码API,但意味着将其分离为编码器/解码器?我是不是误解了<