沙盒机制理解

一, 沙盒的根目录有 有四个
第一个是:Documents 存储在这个文件夹中的文件会永久保存,不能存太大的文件
itunes会同步,例如,游戏应用可将游戏存档保存在该目录,注意:如果保存
网络下载的大的数据,会被拒绝上架
第二,三个是:library: 这个文件夹中的文件,需要程序员自己去清理缓存,
Caches: 保存应用运行时生成的需要持久化的数据,iTunes同步
设备时不会备份该目录, 特点: 一般储存体积大,不需要
备份的非重要的数据 值得注意的是需要提供缓存目录清理
Preferences:系统偏好设置文件夹
iOS的setting(设置)应用会在该目录中查找应用设置信息
iTunes 同步设备时会备份该目录
第四个是:tmp:系统会自动清理保存应用运行时所需的临时数据,程序员无需关心该
目录文件的删除,系统会自动清理,iTunes也不会备份该目录

二,沙盒路径介绍以及结构分析
a. 每个iOS应用都在自己的应用沙盒(应用沙盒就是应用的文件夹,)与其他文件系统隔离
b. 应用必须待在自己的沙盒里面,其他应用不能访问该沙盒
c. 应用程序包:包含了所有的资源文件和可执行文件,它是只读
用代码[NSBundle mainBundle]可以找到应用程序包
d . 程序运行时的数据需要保存在沙盒中
NSHomeDirectory() 可以访问到沙盒主目录

  //1.主目录
  NSString *home =NSHomeDirectory();
    //2.临时目录
    NSString*tmp = NSTemporaryDirectory();
    //3.文档目录
    NSString*docDir = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).lastObject;
    //4.缓存目录
    NSString*cacheDic = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).lastObject;

三. 用户偏好
是一种类似于字典的操作方式:不能直接获取位置

//1. 获取用户偏好
    NSUserDefaults*defaluts = [NSUserDefaults   standardUserDefaults];
   //2.从用户偏好中读取数值
   NSString *userName = [defalutsstringForKey:@"userName"];
    if(userName.length >0) {
                NSLog(@"%@",userName);
    }else{
          //在用户偏好中设置数值
          [defaluts setObject:@"daoge" forKey:@"userName"];
    }

注意: 在Xcode 6.0 之前,用户偏好的保存不是立即实现的,设置数值之后, 需要调用synchronize方法,在很多老项目中,仍然会发现此类代码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、 沙盒概念基本介绍 iOS 应用程序只能在该 app 的文件系统中读取。这个默认的 app 文件系统就是我们说...
    Laughingg阅读 7,749评论 2 10
  • 沙盒 1、沙盒机制介绍 iOS中的沙盒机制是一种安全体系。每个iOS程序都有一个独立的文件系统(存储空间),而且只...
    Kevin_wzx阅读 15,385评论 5 44
  • iOS应用储存分以下几种: 一、沙盒基本机制 二、plist储存 三、偏好设置 四、NSKeydeArchiver...
    亦珩阅读 4,274评论 0 0
  • 写在前面: iOS沙盒机制, 随便百度一下就有很多很多文章, 这篇也没什么新的东西. 只是看千篇文章都不如自己总结...
    时米高的人生笔记阅读 8,528评论 4 10
  • 埃斯库罗斯继承了荷马带有浓烈悲剧色彩的命运观,深化了古希腊文学一再强调的命运主题。他认为命运支配一切,人受到灭顶之...
    婉诗琳阅读 1,495评论 0 1