iOS数据持久化 - NSKeyedArchiver/NSKey
2020-07-23 本文已影响0人
zhYx_
一.简介
NSKeyedArchiver - 归档(储存数据)
NSKeyedUnarchiver - 解档(读取数据)
-
特点
1.继承NSCoder.
2.归档成功会以.archive文件格式储存在沙盒中(沙盒路径:Documents).
3.只要遵循NSCoding协议的对象都能进行归档/解档操作.
4.归档的对象会以二进制数据储存.
5.只能一次性归档/解档数据,改动任何数据都需要重新归档/解档一次. -
建议使用场景
储存少量自定义数据(任何类型的数据).
二.API
- NSKeyedArchiver
/*
归档对象
object:被归档的对象
requiresSecureCoding:是否需要编码
error:错误回调
*/
+ (nullable NSData *)archivedDataWithRootObject:(id)object requiringSecureCoding:(BOOL)requiresSecureCoding error:(NSError **)error;
- NSKeyedUnarchiver
/*
解档对象
*/
+ (nullable id)unarchivedObjectOfClasses:(NSSet<Class> *)classes fromData:(NSData *)data error:(NSError **)error;