沙盒机制


每个应用都有一个沙盒:相当于一个仅主人可见的文件夹

1.应用程序在自己的沙盒中运作,不可以访问其他程序的沙盒

2.应用程序间不能共享数据

3.苹果禁止任何读写沙盒以外的文件

4.沙盒根目录下有三个文件夹,Document:一般存储用户的一些信息和数据Library :(caches:缓存程序再次启动需要的信息preferences:偏好设置)     temp临时文件夹

获取沙盒路径地方法:

(1)、获取沙盒根目录的方法,有以下几种:

用NSHomeDirectory获取

(2)、获取Document路径

NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES)

NSString *homePath =NSHomeDirectory();

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

//NSUserDefaults:单例类.任何时候,任何情况下获取到的对象都是同一个

//plist文件(xml):是存在沙盒(APP总文件夹)下的

//沙盒机制:就相当于一个设置了访问权限的文件夹,(访问对象固定)在我们的APP中,每个APP都有一个独立的沙盒沙盒内的数据不共享

//1.沙盒之间的数据不能共享(不能拷贝到其他的沙盒)

//2.不能随便访问其他APP的沙盒

//获取沙盒根目录

NSString *path =NSHomeDirectory();

NSLog(@"%@",path);

//获得单例类的方法在任何情况下获得的对象都是同一个

//+方法用类名来调用

NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];

//存储一个bool值的方法

[userDefault setBool:NO forKey:@"isNO"];

[userDefault setObject:@"123" forKey:@"num"];

[userDefault setFloat:0.2 forKey:@"two"];

//同步加载不写的话加载时会延迟个几秒

[userDefault synchronize];

//float a = [userDefault floatForKey:@"two"];

}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

//1.找到存在哪里存在userDefaults

NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];

//取值注意找的是什么类型

//boolValue强制转换类型

BOOL isNO = [[userDefault objectForKey:@"isNO"] boolValue];

NSString *num = [userDefault objectForKey:@"num"];

}

前往:前往文件夹

/Users/mac/Library/Application Support/iPhone Simulator/7.1/Applications/F1375577-54DD-4117-A5CF-5138E05EE958

Library—>preferences

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