1、实现数据持久化的四种方法(均使用iOS的文件系统)
- 使用SQLite3:数据库文件,并让SQLite3去存储和检索数据
- CoreData:以其最简单的形式帮助开发者完成所有文件系统的管理工作
- 使用属性列表:需要考虑将数据存储在一个文件中,还是多个文件中。
- 归档:需要考虑将数据存储在一个文件中,还是多个文件中。
2、单文件持久化
把数据保存在一个文件中
先创建一个根对象(通常是数组或字典(使用归档容器的情况下根对象可以基于这个自定义类)),
然后使用所有需要保存的程序数据填充根对象。
1)真正保存时,代码会将该根对象的全部内容重新写入单个文件
2)应用在启动时,会将该文件全部内容重新写入单个文件,应用在启动时会将该文件的全部内容读入内存,并在退出时注销
3)缺点:必须将全部数据加载到内存中,并且不管有多小的更改,也必须将所有的数据全部重新写入文件系统。
3、多文件持久化
1)使用多个文件是另一种实现持久化的方式,比如:电子邮件应用可能会将每封邮件都单独存储在一个文件中。
2)这种方法的优势:比如应用可以只加载用户请求的数据(另一种形式的延迟加载),当用户更改时只保存更改的文件。
3)此文件允许开发人员在收到内存不足的通知时释放内存,用户当前未查看的任何数据都可以从内存中删除,下次需要时再从文件系统重新加载即可。
4)缺点:大大增加了应用的复杂性