-
自定义的类需要实现NSCoding协议中的initWithCoder:和encodeWithCoder:方法
- initWithCoder:中使用[coder encodeXXX:property forKey:@“XXX”]归档
- encodeWithCoder:中使用 property = [coder decodeXXXForKey:@“XXX”];return obj;解档
系统对象可以直接使用
-
单个对象归档与解档
- 使用[NSKeyedArchiver archivedDataWithRootObject:obj]归档为data或者使用[NSKeyedArchiver archiveRootObject:obj toFile:path]直接归档并写入文件
- 使用[NSKeyedUnarchiver unarchiveObjectWithData:data]解档数据或者[NSKeyedUnarchiver unarchiveObjectWithFile:file]从文件中解档
-
批量归档与解档
-
归档
- 使用[[NSKeyedArchiver alloc]initForWritingWithMutableData:dataM]方法以 NSMutableData对象为参数创建NSKeyedArchiver对象
- 重复使用[archiverObj encodeXXX: forKey:@“XXX”]归档所有对象
- [archiverObj finishEncoding]结束归档,dataM包含被归档对象的数据
-
解档
- 使用[[NSKeyedUnarchiver alloc] initForReadingWithData:data]创建NSKeyedUnarchiver对象
- 重复使用[UnarchiverObj decodeXXXForKey:@“XXX”]解档对象
- [UnarchiverObj finishDecoding]结束解档
-
归档与解档 archiver与Unarchiver
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 在构建应用程序时,有一个重要的问题是如何在每次启动之间持久化数据,以便重现最后一次关闭应用前的状态。在iOS和OS...
- 1、 沙盒概念基本介绍 iOS 应用程序只能在该 app 的文件系统中读取。这个默认的 app 文件系统就是我们说...