一、什么是归档:
归档: 对象归档是将对象以文件的形式保存到磁盘中(也称为序列化,持久化) ;使用的时候读取该文件的保存路径读取文件的内容(也称为解档,反序列化)。
二、归档 与 plist存储的区别:
- 对象归档的文件是保密的,在磁盘上无法查看文件中的内容,而plist属性列表是明文的可以查看。
- 而plist只能保存这几种类型:NSString NSNumber NSDate NSData NSArray NSDictionary 。不能保存其他的类型
三、归档的使用
刚刚说到,只要是对象类型,都可以用归档的方式进行保存。
但是,只有实现了协议的类型才可以进行归档,由于Foudation框架中的对象类型已经实现了NSCoding协议,所以可以直接归档解档,而我们自定义的类型,则需要我们手动去实现NSCoding协议。必须实现一下两个方法:
//归档的时候调用的方法
- (void)encodeWithCoder:(NSCoder *)aCoder;
//解归档的时候要调用的函数
- (id)initWithCoder:(NSCoder *)aDecoder;