1、沙盒机制的介绍
iOS中的沙盒机制(SandBox)是一种安全体系,它规定了应用程序只能在为该应用创建的文件夹内读取文件,不可以访问其他地方的内容,所有的非代码文件都保存在这个地方,比如图片、声音、属性列表和文本文件等
其特点总结如下
每个应用程序都在自己的沙盒内
不能随意跨越自己的沙盒去访问别的应用程序沙盒的内容
应用程序向外请求或接收数据都需要经过权限认证
2、沙盒机制的沙盒目录
3、沙盒机制的沙盒结构
Documents:保存应用运行时生成的需要持久化的数据,iTunes同步设备时会备份该目录,例如游戏应用的存档等重要数据,保存相对重要的数据
tmp:保存应用运行时所需要的临时数据,使用完事后再将相应的文件从该目录删除,应用没有运行时,系统也可能会清楚目录下的文件,iTunes同步设备时不会备份该目录,保存不重要的并且大的数据
Library/Caches:保存应用运行时生成需要持久化的数据,iTunes同步设备时不会备份该目录,一般存储体积大,不需要备份的非重要数据
Library/Preference:保存应用的所有偏好设置,iOS的Settings应用会在该目录中查找应用的设置信息,iTunes同步设备时会备份该目录,该目录由系统管理,无需我们来管理,通常用来存储一些基本的软件配置信息,比如记住密码等
4、沙盒机制的路径
① 获取沙盒路径
② 获取bundle路经
③ 获取Documents路径
这里的第三种方式中参数三的YES和NO表示是否使用”~”代替根目录,我们可以通过打印结果看出区别
④ 获取caches目录
⑤ 获取tmp目录
数据存储方式有三种
Plist
Perference
归档和反归档
Plist文件通常用于储存用户设置,虚拟语气也可以存储必要的数据,相当于一个小数据库,但是不能存储对象
1、Plist存储
2、Plist读取
保存应用的所有偏好设置,该目录由系统管理,无需我们来管理,系统也为我们提供了API,但是不能存储对象
1、设置Perference
2、获取Perference
归档和反归档其实就是序列化和反序列化,为了弥补Plist,Perference的不能存储对象的缺点,归档和反归档遵循NSCoding协议
1、准备工作
① 创建Model
② 遵循NSCoding协议
③ 实现NSCoding方法
2、归档
反归档其实就是和归档做相反的操作,相当于装包和解包一个道理
1、准备工作
① 创建Model、遵循NSCoding协议
同上
② 实现NSCoding方法
2、反归档
源码下载