数据持久化基础知识——文件保存方案

来源:互联网 发布:哇嘎软件 编辑:程序博客网 时间:2024/04/29 00:30

1、实现数据持久化的四种方法(均使用iOS的文件系统)

  • 使用SQLite3:数据库文件,并让SQLite3去存储和检索数据
  • CoreData:以其最简单的形式帮助开发者完成所有文件系统的管理工作
  • 使用属性列表:需要考虑将数据存储在一个文件中,还是多个文件中。
  • 归档:需要考虑将数据存储在一个文件中,还是多个文件中。

2、单文件持久化

把数据保存在一个文件中


先创建一个根对象(通常是数组或字典(使用归档容器的情况下根对象可以基于这个自定义类)),


然后使用所有需要保存的程序数据填充根对象。


1)真正保存时,代码会将该根对象的全部内容重新写入单个文件

2)应用在启动时,会将该文件全部内容重新写入单个文件,应用在启动时会将该文件的全部内容读入内存,并在退出时注销

3)缺点:必须将全部数据加载到内存中,并且不管有多小的更改,也必须将所有的数据全部重新写入文件系统。

3、多文件持久化

1)使用多个文件是另一种实现持久化的方式,比如:电子邮件应用可能会将每封邮件都单独存储在一个文件中。

2)这种方法的优势:比如应用可以只加载用户请求的数据(另一种形式的延迟加载),当用户更改时只保存更改的文件。

3)此文件允许开发人员在收到内存不足的通知时释放内存,用户当前未查看的任何数据都可以从内存中删除,下次需要时再从文件系统重新加载即可。

4)缺点:大大增加了应用的复杂性