NSArchiver与NSKeyedArchiver

nod*_*nja 10 cocoa-touch objective-c nskeyedarchiver ios

你怎么知道你是否需要使用NSArchiverNSKeyedArchiver?有什么不同?

Max*_*ann 13

NSArchiver支持像–encodeObject:或等的无密码编码方法–decodePoint,同时NSKeyedArchiver支持基于密钥的编码方法,如–encodeObject:forKey:–decodePointForKey:.主要的区别在于,在归档器上,您需要以与编码它完全相同的方式解码内容.每个键只能解码一次.另一方面,键控归档器不会限制您使用任何顺序,您可以多次自由地解码同一个对象.

尽可能使用NSKeyedArchiver.它更新,可能最终取代非基于密钥的变体.

  • 此外,NSArchiver不适用于iPhone应用程序. (13认同)