iOS本地数据存取的四种方式

在学习本地数据存取的时候我们首先介绍一下iOS中的一个存储介质应用沙盒。每个iOS的应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离。应用必须待在自己的沙盒里,其他应用不能访问该沙盒。应用沙盒结构分析:

1、应用程序包:包含所有的资源文件和可执行文件

2、Documents:保存应用运行时生成需要持久化的数据,iTunes同步设备时会备份该目录。例如:游戏应用可将游戏存档保存在该目录。

3、tmp:保存应用运行时所需的临时数据,使用完毕后,再讲相应的文件从该目录删除。应用没有运行时,系统可能会消除该目录下的文件,iTunes同步设备是不会备份该目录。

4、Library/Caches:保存应用运行时生成的需要持久化的数据,iTunes同步设备时不会备份该目录。一般存储体积大、不需要备份的非重要的数据

5、Library/Preference:保存应用的偏好设置,iOS的Setting应用会在该目录中查找应用的设置信息。iTunes同步设备时备份该目录。

•应用的沙盒目录的常见的获取方式

•获取沙盒路径:NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];

iOS应用数据存储的常用方式

1、XML属性列表(plist)归档

2、偏好设置(Preference)

3、NSCoding

4、SQLite3

5、Core Date

XML属性列表(plist)归档

•属性列表是一种XML格式,拓展名为plist

•如果对象是一些OC对象,就可以使用wirteToFile:atomically:方法直接将对象写到属性列表文件中,使用这个方法可以用来获取文件的沙盒

下面使用归档将数据写成plist文件如图所示:

iOS本地数据存取的四种方式_第1张图片

偏好设置(Preference)

•很多iOS应用都支持偏好设置,比如登录保存用户名、密码,iOS提供了一套标准的解决方案来用用加入偏好设置功能不能

•每个应用都有NSUserverDefaults实例,通过它来存取偏好设置

NSCoding(归档)

•对象如果是OC队形可以直接使用NSKeyedArchiver进行归档和恢复(不是所有的OC对象都能使用NSKeyedArchiver)
这种方式来进行归档和接档操作的只有遵守NSCoding协议的对象才可以使用NSKeyedArchiver来进行解档和归档

你可能感兴趣的:(iOS本地数据存取的四种方式)