每个应用都有一个沙盒:相当于一个仅主人可见的文件夹
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