使用NSUserDefaults
存储的一般是用户名、id等少量的重要信息,数据量过大的话并不太适合,过多的键值取值找起来很费劲。
对于一些必要持久化的数据,重复对象类型使用数据库,在下使用的是JKDBModel
,工具对FMDB
二次封装,实现了很多CoreData
的功能。
今天主要是针对数据量大、读取操作有限而且仅要求存储一个对象的持久化情况。比如页面需要缓存请求结果方便下次展示、用户输入框比较多的页面需要下次打开时自动显示上次入记录。为了这个需求,特意写了一个鸡肋的小功能,存储一个单独的plist
文件,防止与NSUserDefaults
的值发生冲突,方便读写。
NSUserDefaults
是在本地存储的一个plist
文件记录数据,所以自己重写一个plist
文件存入沙盒比较合适。
上代码:
- 使用方法
//需要读取的key
NSString *keyStr;
//需要写入的数据
//如果是自定义类型可以用`MJExtension`工具先转换成字典
id vObj;
keyStr = @"value";
vObj = @{@"value":@"这是这个页面要存储的数据"};
//使用方法
//在使用对象文件中 存储
kFDGSavePageVal(vObj);