沙盒模型有四个文件夹
1,Documents目录:所有应用程序数据文件写入这个目录。这个目录用于存储用户数据或其它应该定期备份的信息。
2,AppName.app目录:这是应用程序的程序包目录,包含应用程序本身。由于应用程序必须经过签名,所以在运行时不能对这个目录的内容进行修改,否则可能会使应用程序无法启动。
3,Library目录
两个子目录
①,Library/preferences:包含应用程序的偏好设置文件。不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类,来取得和设置应用程序的偏好
②,Library/Caches目录:用于存放程序专用的支持文件,保存应用应用程序再次启动过程需要信息
4,tmp目录:这个目录用于存放临时文件,保存应用程序再次启动过程不需要信息
//获取目录路径
//获取家路径
NSString *homeDir = NSHomeDirectory();
NSLog(@"homeDir---%@",homeDir);
homeDir---/Users/yangjunfei/Library/Developer/CoreSimulator/Devices/9315C7B7-E2A2-4222-A017-36A3FF45BCFE/data/Containers/Data/Application/7E8E5168-77D5-4636-977C-BDCA0E6268A3
//Documents目录
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0];
NSLog(@"documentsDir---%@",documentsDir);
documentsDir---/Users/yangjunfei/Library/Developer/CoreSimulator/Devices/9315C7B7-E2A2-4222-A017-36A3FF45BCFE/data/Containers/Data/Application/7E8E5168-77D5-4636-977C-BDCA0E6268A3/Documents
//Library/Caches目录
NSArray *cachesPaths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *cachesDir = [cachesPaths objectAtIndex:0];
NSLog(@"cachesDir---%@",cachesDir);
cachesDir---/Users/yangjunfei/Library/Developer/CoreSimulator/Devices/9315C7B7-E2A2-4222-A017-36A3FF45BCFE/data/Containers/Data/Application/7E8E5168-77D5-4636-977C-BDCA0E6268A3/Library/Caches
//tmp目录
NSString *tmpDir = NSTemporaryDirectory();
NSLog(@"tmpDir---%@",tmpDir);
/Users/yangjunfei/Library/Developer/CoreSimulator/Devices/9315C7B7-E2A2-4222-A017-36A3FF45BCFE/data/Containers/Data/Application/7E8E5168-77D5-4636-977C-BDCA0E6268A3/tmp/
/**
NSUserDefaults
NSUserDefaults 适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名、密码之类的,个人觉得使用 NSUserDefaults 是首选。下次再登陆的时候就可以直接从 NSUserDefaults 里面读取上次登陆的信息咯。
因为如果使用自己建立的 plist 文件什么的,还得自己显示创建文件,读取文件,很麻烦,而是用 NSUserDefaults 则不用管这些东西,就像读字符串一样,直接读取就可以了。
NSUserDefaults 支持的数据格式有:NSNumber(Integer、Float、Double),NSString,NSDate,NSArray,NSDictionary,BOOL 类型。 NSUserDefaults 很方便,读取也很容易。
*/
[self saveNSUserDefaults];
[self readNSUserDefaults];
//保存数据到 NSUserDefaults
- (void)saveNSUserDefaults
{
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:@"123" forKey:@"num"];
[userDefaults synchronize];
}
//从 NSUserDefaults 中读取数据
- (void)readNSUserDefaults
{
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
//读取整数int类型的数据
NSString *num = [userDefaults objectForKey:@"num"];
NSLog(@"num---%@",num);
}