iOS文件目录
2016-03-01 12:05
204 查看
沙盒模型有四个文件夹
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);
}
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);
}
相关文章推荐
- iOS开发中如何合理地制造BUG
- iOS 图片点击放大封装
- iOS-常用宏定义
- ios签名机制的理解
- iOS-.pch如何使用
- ios进行打包
- Missing iOS Distribution signing identity问题解决
- iOS 高效添加圆角效果实战讲解
- iOS开发之Runloop
- iOS 第三方库冲突的处理
- iOS扫一扫功能开发
- ios开发--第三方整理
- 根据屏幕宽度自动适配字体大小,一次使用终身难忘!
- iOS presentViewController方式跳转延迟
- iOS多线程
- iOS中block介绍(四)揭开神秘面纱(下)
- IOS-相机、相册
- iOS关于LLDB调试命令学习总结
- iOS 本地头像加载与上传头像图片
- iOS-如何读取Plist文件