-
自定义的类需要实现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]结束解档
-
网友评论