归档

     1.归档是指用某种格式来保存一个或多个对象,以便以后还原这些对象的过程。

归档是将数据持久化的一种方式(所谓数据持久化,就是指在IOS开发过程中,将数据保存到本地,能够让程序的运行更加流畅)。

  2.想要归档的数据对象,需要遵守NSCoding协议,并且该对象对应的类必须提供encodeWithCoder:initWithCoder:方法。

  3.归档就是将临时数据保存成本地文件。

  4.归档的缺点:归档的形式来保存数据,只能一次性归档保存以及一次性解压。所以只能针对小量数据,而且对数据操作比较笨拙,即如果想改动数据的某一小部分,还是需要解压整个数据或者归档整个数据。

一、XML归档

  1.局限:数据类型只支持 NSString、NSDictionary、NSArayy、NSData、NSNumber(如果你想的话,可以将基本数据类型转换为NSNumber再进行归档)。

二、NSKeyedArchiver归档

  1.将各种类型的对象存储到文件中,而且不仅仅是字符串、数组和字典类型,有一种更灵括的方法。就是利用NSKeyedArchiver类创建带键(keyed)的档案来完成。实现对我们自定义的类进行归档。

  2.序列化与反序列化:将一个Objective-C对象转换成NSData的操作叫做对象的序列化;而将一个NSData转换成Objective-C对象的操作叫做对象的反序列化。一个Objective-C对象需要通过实现NSCoding协议以便支持序列化与反序列化

三、NSUserDefaults

  1.NSUserDefaults是一个单例类,如它的名字一样,用于永久保存一些用户对于应用程序的配置之类的简单数据,其简单而又实用

  3.NSUserDefaults支持的数据类型同XML归档一样,仅仅用于保存一些程序配置信息的话完全是可以胜任的。

  4.比较方便,设置好归档路径,一句话归档,一句话解档。

  5.归档文件格式:一般保存.plist文件。


你可能感兴趣的:(归档)