/*************************************************************************
*
*
*沙盒---》简单来说就是一个文件目录系统,每个app都有一个自己文件夹,它们之间不能互相访
* 问。
* 在ios8以后,苹果官方提供了一些公共的区域,可以被其app访问,提高交互性。
*
* 三个目录:Documents-----存放一些有种重要的文件信息,iturns会自动备份和恢复时候包
* 括此目录。只要保存文件数据和下载的内容。
* Library:存储程序的默认设置和其他信息。两个子文件夹Caches和Preference
* Library/Caches:存放缓冲文件,iturn不会备份,文件夹内的内容不会在程序退出时
* 删掉,可以用来存放一些大缓存的文件。
* Library/Preferce:保存应用的所有偏好设置,应用的数据库文件也可以存储到这个文
* 件夹中。iturns也会自己动备份该目录。
*
* tmp:保存app的临时性文件,当应用退出或手机重启时该文件夹内的内容就会销毁。
*沙盒路径:苹果电脑和手机不一样。这里主要讲的手机获得沙盒位置。
*/
/*==========================================================================
* 1.沙盒获得根目录。
* 2.获得Documents的路径
* 3.获得Library/Caches目录
* 4.获得Library/Preference目录
* 5.获得tmp临时文件
*/
- (void)viewDidLoad {
[super viewDidLoad];
//1.获得沙盒根目录
NSString *homePath = NSHomeDirectory();
NSLog(@"沙盒根目录 %@",homePath);
//2.获得Document目录
//参数一: 获得的哪个目录。 参数二:获得用户目录。参数三:是否获得的绝对路径。
NSArray *documentsPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSLog(@"获得Document目录 %@",documentsPath);
//3.获得Library/Caches目录
NSArray *CachesPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSLog(@"获得Document目录 %@",CachesPath);
//4.获得Library/Preference目录
// 包含应用程序的偏好设置文件。您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好.
//下面的save 和 read 方法使用。(自己建立两个按钮,并且连接上。)
//5.获得tmp临时文件
NSString *tmpPath = NSTemporaryDirectory();
NSLog(@"获得tmp临时文件目录: %@",tmpPath);
}
- (IBAction)save {
// 1.利用NSUserDefaults,就能直接访问软件的偏好设置(Library/Preferences)
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
// 2.存储数据
[defaults setObject:@"admin" forKey:@"username"];
[defaults setObject:@"123" forKey:@"password"];
[defaults setInteger:20 forKey:@"age"];
[defaults setBool:YES forKey:@"login"];
NSLog(@"已经存储");
// 3.立刻同步
[defaults synchronize];
}
- (IBAction)read {
//建立对象
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
//读取
NSString *userName = [defaults objectForKey:@"username"];
BOOL login = [defaults boolForKey:@"login"];
NSLog(@"%@ -- %d", userName, login);
}