iOS学习(OC语言)知识点整理

一、iOS沙盒机制介绍

1)概念:

每个ios应用都有自己的应用沙盒,应用沙盒就是文件系统目录,与其他应用放入文件 系统隔离,ios系统不允许访问

其他应用的应用沙盒,但在ios8中已经开放访问(extension)

2)extension是ios8新开放的一种对几个固定系统区域的拓展机制,它可以在一定程度上弥补ios的沙盒机制对应用间的通信限制

3)应用沙盒一般包括以下几个文件目录

1、应用程序包:包含所有资源文件和可执行文件

2、Documents:保存应用运行时生成的需要持久化的数据,iTunes会自动备份该目录

3、tmp:保存应用运行时所需的临时数据,使用完毕后再将相应的文件从该目录删除,应用没有运行时,系统也可能会自动清理

该目录下的文件,iTunes不会同步该目录,iPhone重启时该目录下的文件会丢失。

4、Libaray:存储程序的默认设置和其他状态信息,iTunes会自动备份该目录。

5、Libaray/Caches:存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出删除,一般存放体积比较大,

不是很重要的资源

6、Libaray/Preferences:保存应用的所有偏好设置,ios的Settings(设置)应用会在该目录中查找应用的设置信息,

iTunes会自动备份该目录。

4)获取应用的根目录 例如:

  1. NSString *sandBox=NSHomeDirectory();

5)获取应用的Documents目录 例如:

  1. //NSSearchPathForDirectoriesInDomains 返回绝对路径
  2. //NSSearchPathForDirectoriesInDomains(要查找的目录, 是否是用户主目录, YES/NO 是否获取全路径);
  3. NSArray *arry= NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
  4. NSLog(@"%@",[arry lastObject]);

6)获取应用的Libaray目录 例如:

  1. NSArray *arry2= NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
  2. NSLog(@"%@",[arry2 lastObject]);

7)获取应用的Caches目录 例如:

  1. NSArray *arry3= NSSearchPathForDirectoriesInDomains(NSCachesDirectory,
  2. NSUserDomainMask, YES);
  3. NSLog(@"%@",[arry3 lastObject]);

8)获取应用的Preferences 目录,不能直接获取只能自行拼接 例如:

  1. NSArray *arry4= NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
  2. NSString *path=[arry4 lastObject];
  3. path=[path stringByAppendingPathComponent:@"Preferences"];
  4. NSLog(@"%@",path);

9)获取应用的tmp目录 例如:

  1. NSString *tmp=NSTemporaryDirectory();
  2. NSLog(@"%@",tmp);

10)写入文件到指定的应用目录下 例如:

  1. NSArray *arry4= NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
  2. NSString *path=[arry4 lastObject];
  3. path=[path stringByAppendingPathComponent:@"Preferences/Test.txt"];
  4. NSString *str=@"abcdefg";
  5. [str writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:nil];

11)将数据写入用户配置沙盒目录 例如:

  1. //保存选择结果到沙盒
  2. [[NSUserDefaults standardUserDefaults] setObject:_result forKey:@"userPrama"];
  3. //立即同步数据
  4. [[NSUserDefaults standardUserDefaults] synchronize];
  5.  
  6. //从沙盒取出保存结果
  7. NSString *result = [[NSUserDefaults standardUserDefaults] valueForKey:@"userPrama"];

iOS 阶段学习第25天笔记(iOS沙盒机制介绍)的更多相关文章

  1. iOS阶段学习第34天笔记(UI小组件 UISegment-UISlider-UIStepper-UIProgressView-UITextView介绍)

    iOS学习(UI)知识点整理 一.UI小组件 1.UISegmentedControl 分段选择器  实例代码 - (void)viewDidLoad { [super viewDidLoad]; / ...

  2. iOS沙盒机制介绍,Block 的介绍

    一.iOS沙盒机制介绍 (转载) 1)概念:每个ios应用都有自己的应用沙盒,应用沙盒就是文件系统目录,与其他应用放入文件 系统隔离,ios系统不允许访问 其他应用的应用沙盒,但在ios8中已经开放访 ...

  3. iOS沙盒机制介绍

    一.沙盒机制 沙盒的概念:沙盒是每一个iOS应用程序都会自动创建的一个文件系统目录(文件夹),而且沙盒还具有独立.封闭.安全的特点. 沙盒机制 iOS中的沙盒不仅仅是一个文件目录,TA其实更是一种安全 ...

  4. iOS阶段学习第29天笔记(UITextField的介绍)

    iOS学习(UI)知识点整理 一.关于UITextField的介绍 1)概念: UITextField 是用于接收用户输入的一个控件 2)UITextField  初始化实例代码: //创建一个UIt ...

  5. iOS阶段学习第28天笔记(UIView的介绍)

    iOS学习(UI)知识点整理 一.关于UIVIew 的介绍 1)概念:UIView 是用于装载并展示各类控件的大容器,是iOS中所有UI控件的基类 2)UIView  初始化实例代码 UIView * ...

  6. iOS阶段学习第27天笔记(UIButton-UIImageView的介绍)

    iOS学习(UI)知识点整理 一.关于UIButton的介绍 1)概念:UIButton 是一种常用的控件,通过点击触发相应的功能 2)UIButton 的几种常用的状态        1.UICon ...

  7. iOS 阶段学习第24天笔记(Block的介绍)

    iOS学习(OC语言)知识点整理 一.Block 的介绍 1)概念: block 是一种数据类型,类似于C语言中没有名字的函数,可以接收参数,也可以返回值与C函数一样被调用 封装一段代码 可以在任何地 ...

  8. iOS 阶段学习第23天笔记(XML数据格式介绍)

    iOS学习(OC语言)知识点整理 一.XML数据格式介绍 1)概念:xml是extensible markup language扩展的标记语言,一般用来表示.传输和存储数据 2)xml与json目前使 ...

  9. iOS 阶段学习第11天笔记(OC基础知识)

    iOS学习(OC语言)知识点整理 一.OC基础知识 1)#import  用于导入头文件,预处理阶段加载引用,只加载一次. 2)OC 依赖于Foundation框架下的头文件Foundation.h, ...

随机推荐

  1. ubuntu 13.04下MYSQL 5.5环境搭建

    解决的问题: 安装mysql server和mysql client 5.5 新建远程账户 远程访问权限 MYSQL默认字符集修改为UTF8 检查防火墙 一.安装 BTW:可以使用查找命令查看安装包 ...

  2. 如何应用Font Awesome矢量字体图标

    Font Awesome 是一套专门为 Twitter Boostrap 设计的图标字体库.这套图标字体集几乎囊括了网页中可能用到的所有图标,除了包括 Twitter Boostrap 的默认图标外, ...

  3. Ember.js实现单页面应用程序

    1.1.1 摘要 单页应用程序 (SPA) 是加载单个HTML 页面并在用户与应用程序交互时动态更新该页面的Web应用程序. SPA使用AJAX和HTML5创建流畅且响应迅速的Web应用程序,不会经常 ...

  4. 一个线上运营着3000+人的游戏,因为我不小心一个DROP DATABASE,全没了。 怎么办??跟我HOLD住!!!

    前言 今天下午3点,我按照惯例,打开游戏服务器,开新服部署嘛,游戏在腾讯开放平台,简单.闭着眼睛都OK.于是一轮子的复制黏贴拷贝,把服务器加起来,然后启动查看日志. ....突然发现不断的有Excep ...

  5. Redis快速入门详解

    Redis入门详解 Redis简介 Redis安装 Redis配置 Redis数据类型 Redis功能 持久化 主从复制 事务支持 发布订阅 管道 虚拟内存 Redis性能 Redis部署 Redis ...

  6. 开发者最常用的 8 款 Sublime Text 3 插件

    转载于:http://www.itxuexiwang.com/a/liunxjishu/2016/0228/177.html?1456925631Sublime Text作为一个尽为人知的代码编辑器, ...

  7. Redis主从复制问题和扩容问题的解决思路

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/106.html?1455867541 一.解决主从复制问题 当使用Redi ...

  8. Java-数组练习1

    1.已知2个一维数组:a[]={3,4,5,6,7},b[]={1,2,3,4,5,6,7}:把数组a与数组b 对应的元素乘积再赋值给数组b,如:b[2]=a[2]*b[2]:最后输出数组b的元素. ...

  9. Lua字符串库(整理)

    Lua字符串库小集 1. 基础字符串函数:    字符串库中有一些函数非常简单,如:    1). string.len(s) 返回字符串s的长度:    2). string.rep(s,n) 返回 ...

  10. Python的datetime

    Python的datetime 总会用到日期格式化和字符串转成日期,贴点代码以供参考,其实API真的是很全的,可是又不知道具体的method... datetime.datetime.strftime ...