iOS基础——数据存储之沙盒机制、Plist、Perference、归档、反归档


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、反归档

源码下载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值