沙盒

一、持久化处理:即把数据保存在硬盘中,让它一直存在

每个项目安装到iOS设备上以后,iOS操作系统会自动开辟出两个空间:

  • 空间1:用于存储IPA的执行文件,即应用程序源码.这里的文件都是只读的,可以使用NSBoundle来读取这个文件夹的内容。
  • 空间2:沙盒SandBox专门给IPA用于存储数据的。这里的数据是在硬盘上,所以不会随着程序的关闭而消失。

二、沙盒中一共有三个文件夹:

  1. Documents:专门提供给开发者用于存储各种数据的。
  2. Library:里面存放的是默认的用户配置文件plist,SDWebImage会把从网络上加载的图片存放在这里。
  3. tmp:临时文件,通常用于从网络上下载数据时,先存放到这个文件夹里。当下载完毕后再移到哦正规的文件夹。

读取沙盒路径的方法有两个:

  • OC直接获取的方法:得到沙盒路径.
NSString *sandBoxPath = NSHomeDirectory();
  • 使用C的方法获取沙盒路径:得到Documents路径.
    参数1:目录,枚举类型,表示要搜索的目录类型。
    参数2:域,表示搜索的范围,NSUserDomainMask表示从当前应用的沙盒目录中搜索。
    参数3:表示路径是否要展开,YES直接显示文件夹名字,NO直接显示文件夹的具体路径。
NSString *docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;

进入沙盒中的Documents文件夹:

NSString *docPath = [sandBoxPath stringByAppendingPathComponent:@"Documents"];

直接获取临时文件夹的目录:

NSString *tmpPath = NSTemporaryDirectory();

你可能感兴趣的:(沙盒)