持久化概念:将数据保存到硬盘中,以便应用程序重启后可以继续访问之前保存的数据。
沙盒:存储app所有的数据路径,默认情况下只能访问程序自己的目录。包括Documents;Library;SystemData;tmp这四个文件。
Documents:保存持久化数据,会备份;一般用来存储需要持久化的数据。在项目中,一般会把用户的登录信息进行存储,以及搜索历史记录等一些关键数据。
Library:包含Cashes和Preferences两个文件夹;Cashes是缓存;内存不足时会被清除,应用没有运行时,可能会被清除。一般存储体积大,不需要备份的非重要数据。Preferences保存持久化数据,会备份,NSUserDefaults默认存放在此文件夹。
SystemData:可能不是很重要的东西,新增的。
tmp:临时文件夹;iTunes不会备份这个目录,用来保存临时数据,应用退出时会清除该目录下的数据。
数据存储的几种方式
property list (属性列表) 只能存储系统自带的数据类型,一般实际开发中存储字典、数组,自定义的模型无法进行存储。
Preference (偏好设置) 只能存储系统自带的数据类型,自定义的对象无法存储;NSUserDefaults就是默认存放在此文件夹下面
NSKeyedArchiver(归档) 可以存储自定义的数据类型; 需要遵循NSCoding协议,实现协议方法
网友评论