-
自定义的类需要实现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 文件系统就是我们说...