Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios NSArchiver与NSKeyedArchiver_Ios_Objective C_Cocoa Touch_Nskeyedarchiver - Fatal编程技术网

Ios NSArchiver与NSKeyedArchiver

Ios NSArchiver与NSKeyedArchiver,ios,objective-c,cocoa-touch,nskeyedarchiver,Ios,Objective C,Cocoa Touch,Nskeyedarchiver,您如何知道是否需要使用NSArchiver或NSKeyedArchiver?区别是什么?NSArchiver支持无键编码方法,如-encodeObject:或-decodePoint,而NSKeyedArchiver支持基于键的编码方法,如-encodeObject:forKey:或-decodePointForKey:。主要的区别在于,在Archiver上,您需要以与编码完全相同的方式对内容进行解码。每把钥匙都可以准确解码一次。另一方面,键控归档器不限制您的任何顺序,您可以多次自由解码同一对象

您如何知道是否需要使用
NSArchiver
NSKeyedArchiver
?区别是什么?

NSArchiver
支持无键编码方法,如
-encodeObject:
-decodePoint
,而
NSKeyedArchiver
支持基于键的编码方法,如
-encodeObject:forKey:
-decodePointForKey:
。主要的区别在于,在Archiver上,您需要以与编码完全相同的方式对内容进行解码。每把钥匙都可以准确解码一次。另一方面,键控归档器不限制您的任何顺序,您可以多次自由解码同一对象


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

此外,NSArchiver不适用于iPhone应用程序。