apple spec。,当类支持 NSSecureCoding
时,应使用
decodeObjectOfClass:forKey:
在InitwithCoder中
但是,由于字典对其内容没有任何线索,因此如何支持安全编码?
与自定义对象相反,其中属性类是已知的
根据此答案基础容器(数组,词典,设置,其他……?)并不像人们想象的那样安全。显然只有已知的基础类是安全的,这意味着默认实现在使用NSSecureCoding时不允许存储自定义对象。
最重要的报价:
[...]如果您直接使用nsarray()或其他收集类 您的编码,您需要检查回来的内容。他们是"安全的" 解码以至于苹果认为解码它们不会 导致缓冲区溢出等,这就是您默认情况下得到的。[...]