【发布时间】:2015-11-17 13:01:36
【问题描述】:
考虑以下 sn-p,它尝试从无效的 NSData 对象创建 NSKeyedUnarchiver。
NSData *data = [@"foo" dataUsingEncoding:NSUTF8StringEncoding];
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
当我在 iOS 8.4 模拟器上运行它时,我得到一个 NSInvalidArgumentException。然而,在 iOS 9.1 模拟器上,初始化程序只返回 nil。
但是,根据official docs,该方法应该总是在无效数据上抛出异常。
如果数据不是有效的存档,此方法将引发异常。
为什么只在 iOS8 上抛出异常,而在 iOS9 上却没有? iOS 9 中的这种新行为是否还没有记录在案?
【问题讨论】:
标签: ios objective-c nscoding nskeyedunarchiver