Objective c 使用NSCoding或简单地将数据写入文件来编码对象的优缺点

Objective c 使用NSCoding或简单地将数据写入文件来编码对象的优缺点,objective-c,ios,nscoding,Objective C,Ios,Nscoding,我很好奇在objective c中使用NSCoding对对象进行编码并将其写入磁盘比简单地将持久性对象写入磁盘有什么好处。在I/O或磁盘空间使用方面是否有性能提升?好吧,大多数NSCoding实现将正确处理对象图;i、 e.如果您对已编码到编码器的成员对象进行编码,则不会再次对其进行编码。解码将正确恢复对象图(因此解码的目标对象具有多个入站引用)。您还可以获得所有内置的辅助对象编码函数(用于基本类型和对象) 除此之外,NSCoders只是持久化对象生成器,因此您最终会做类似的工作,只是没有苹果处

我很好奇在objective c中使用NSCoding对对象进行编码并将其写入磁盘比简单地将持久性对象写入磁盘有什么好处。在I/O或磁盘空间使用方面是否有性能提升?

好吧,大多数
NSCoding
实现将正确处理对象图;i、 e.如果您对已编码到编码器的成员对象进行编码,则不会再次对其进行编码。解码将正确恢复对象图(因此解码的目标对象具有多个入站引用)。您还可以获得所有内置的辅助对象编码函数(用于基本类型和对象)


除此之外,
NSCoder
s只是持久化对象生成器,因此您最终会做类似的工作,只是没有苹果处理的麻烦和常见情况。你能写什么样的持久性生成器不会复制成吨的
NSCoder
功能?

谢谢@Adam Wright,我刚开始开发iPhone应用程序,我的选择书没有解释简单地将持久性对象写入磁盘与使用NSCoding协议方法写入磁盘之间的实际区别。您还可以注意到“将持久性对象写入磁盘”的含义。您大概是指编写自己的文件I/O,并以类似C的方式将数据/结构输出到文件中?