美文网首页
iOS本地数据存取的四种方式

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

作者: 蘇哲炫爺 | 来源:发表于2016-05-16 14:36 被阅读113次

    在学习本地数据存取的时候我们首先介绍一下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文件如图所示:

    偏好设置(Preference)

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

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

    NSCoding(归档)

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

    相关文章

      网友评论

          本文标题:iOS本地数据存取的四种方式

          本文链接:https://www.haomeiwen.com/subject/dtebrttx.html