iOS中 沙盒(sandbox)与归档(NSKeyedArchiver)
2015-09-17 19:39
417 查看
iOS的沙盒(sandbox)机制:是一种安全机制,iOS应用程序只能对自己创建的应用程序进行读取文件,这个独立、封闭、安全的空间,就是我们说的沙盒。它里面一般存放着你的程序需要的文件,数据持久化的一些文件(Plist、sqlite....)音视频、图片以及其他资源文件
每一个应用程序只有一个沙盒
沙盒里面有三个文件夹
1、Documents 目录下的文件 会被同步到另一台设备 可以放 媒体资源
2、Library 可以把缓存的内容放到 Library/Caches
3、tmp 创建临时文件的目录 当我们的设备重启时,文件会被自动清除
我们可以获得根目录home
获得根目录的方式 打印home路径
NSString *homePath = NSHomeDirectory();
NSLog(@"%@",homePath);
获得Documents 的方式
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *Documents = [paths firstObject];
Library 目录
NSArray *paths2 = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *Library = [paths2 firstObject];
Library/Caches
NSArray *paths3 = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *Caches = [paths3 firstObject];
获取Temp目录
NSString *tmp = NSTemporaryDirectory();
二、归档 NSKeyedArchiver
解归档NSKeyedUnarchiver
归档又叫序列化(coding)
归档之后的文件 会被加密
可以归档的文件、数据:任何数据(直接归档一个类实例化的对象、数组、字典、字符串、文本、图片 .....)
归档的步骤
1、归档路径 需要归档的数据
2、归档、解归档
iOS开发中的对象归档:
对象归档是将对象归档以文件的形式保存到磁盘中(也称为序列化,持久化)使用的时候读取该文件的保存路径读取文件的内容(也称为接档,反序列化)
对象归档的文件是保密的磁盘上无法查看文件中的内容,而属性列表是明文的可以查看)
对象归档有两种方式:1、对foundat中对象进行归档 2、自定义对象归档
归档方式
NSData 二进制数据的类
归档步骤
1、归档文件路径 准备需要归档的数据
2、写一个NSMutableData 通过归档的类 让 Data 准备写入到文件
3、开始(归档)编码
4、结束(归档)编码 把Data 数据写入到文件
解归档
1、解归档文件路径
2、读取文件里面的Data数据
3、通过解归档对象 读取Data数据 准备解归档
4、解归档数据
三、要想归档自定义类的对象
1、遵守归档(NSCoding)协议
2、实现归档协议里面的方法
3、逐一对自定义类里面的类进行编码和解码 这时候这个对象就具备了 归档 解归档的功能
4、归档 解归档
归档
1、准备要归档文件的路径 要归档的数据
2、进行归档
这些都是比较基础的知识,我就不把代码一一写出来了
每一个应用程序只有一个沙盒
沙盒里面有三个文件夹
1、Documents 目录下的文件 会被同步到另一台设备 可以放 媒体资源
2、Library 可以把缓存的内容放到 Library/Caches
3、tmp 创建临时文件的目录 当我们的设备重启时,文件会被自动清除
我们可以获得根目录home
获得根目录的方式 打印home路径
NSString *homePath = NSHomeDirectory();
NSLog(@"%@",homePath);
获得Documents 的方式
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *Documents = [paths firstObject];
Library 目录
NSArray *paths2 = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *Library = [paths2 firstObject];
Library/Caches
NSArray *paths3 = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *Caches = [paths3 firstObject];
获取Temp目录
NSString *tmp = NSTemporaryDirectory();
二、归档 NSKeyedArchiver
解归档NSKeyedUnarchiver
归档又叫序列化(coding)
归档之后的文件 会被加密
可以归档的文件、数据:任何数据(直接归档一个类实例化的对象、数组、字典、字符串、文本、图片 .....)
归档的步骤
1、归档路径 需要归档的数据
2、归档、解归档
iOS开发中的对象归档:
对象归档是将对象归档以文件的形式保存到磁盘中(也称为序列化,持久化)使用的时候读取该文件的保存路径读取文件的内容(也称为接档,反序列化)
对象归档的文件是保密的磁盘上无法查看文件中的内容,而属性列表是明文的可以查看)
对象归档有两种方式:1、对foundat中对象进行归档 2、自定义对象归档
归档方式
NSData 二进制数据的类
归档步骤
1、归档文件路径 准备需要归档的数据
2、写一个NSMutableData 通过归档的类 让 Data 准备写入到文件
3、开始(归档)编码
4、结束(归档)编码 把Data 数据写入到文件
解归档
1、解归档文件路径
2、读取文件里面的Data数据
3、通过解归档对象 读取Data数据 准备解归档
4、解归档数据
三、要想归档自定义类的对象
1、遵守归档(NSCoding)协议
2、实现归档协议里面的方法
3、逐一对自定义类里面的类进行编码和解码 这时候这个对象就具备了 归档 解归档的功能
4、归档 解归档
归档
1、准备要归档文件的路径 要归档的数据
2、进行归档
这些都是比较基础的知识,我就不把代码一一写出来了
相关文章推荐
- iOS中NSThread(主线程,子线程)
- iOS NSString utf-8 Unicode互转
- iOS中的串行,并行,分组,一次,障碍,延迟,反复执行(GCD)
- 蓝懿iOS培训日志15 tableView和自定义Cell(1)
- iOS 9, Xcode 7,免费使用真机测试
- iOS中的动画
- iOS简单的数据持久化
- iOS的沙盒机制
- iOS - 邮件 短信 通讯录
- iOS提示框,为什么你应该使用 MBProgressHUD?
- iOS提示框,为什么你应该使用 MBProgressHUD?
- iOS - 数据持久化 - 文件的写入(简单对象和复杂对象)
- iOS上的ReactiveCocoa响应式编程
- iOS 去除tableview的黏性
- iOS中Bitcode的介绍及配置
- 用CocoaPods做iOS程序的依赖管理(转载)
- idfa还是idfv,IOS唯一标示利弊分析
- iOS开展block说明
- iOS9适配技巧
- ubuntu 启动项创建器 选择不了CD镜像,IOS镜像的解决方法