NSArchiver支持 or 等无密钥编码方法–encodeObject:,–decodePoint同时NSKeyedArchiver支持 or 等基于密钥的编码–encodeObject:forKey:方法–decodePointForKey:。主要区别在于,在存档器上,您需要以与编码完全相同的方式对内容进行解码。每个密钥都可以被解码一次。另一方面,键控存档器不会将您限制为任何顺序,您可以多次自由地解码同一个对象。
只要有可能,使用NSKeyedArchiver. 它较新,可能最终会取代非基于密钥的变体。