现在的位置: 首页 > 综合 > 正文

IOS 目录说明及获取目录方法

2017年12月07日 ⁄ 综合 ⁄ 共 1297字 ⁄ 字号 评论关闭

iphone沙盒模型下有四个文件夹,分别是Documents,Library,temp,app,下面分别说一下这几个文件夹分别存储什么
Documents目录:苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录
Library目录:提供一个即时创建临时文件的地方,Library目录下面有两个子目录,Caches和Preferences,
Caches目录用于存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出删除
Preferences目录:包含应用程序的偏好设置文件。您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好.
tmp目录:提供一个即时创建临时文件的地方
AppName.app目录:这是应用程序的程序包目录,包含应用程序的本身。由于应用程序必须经过签名,所以您在运行时不能对这个目录中的内容进行修改,

否则可能会使应用程序无法启动。


获取各个目录方法:
1、获取沙盒主目录路径
    NSString *homepath = NSHomeDirectory();
    NSLog(@"home path:%@",homepath);
2、获取Document目录
    NSArray *documentArray =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentpath = [documentArray objectAtIndex:0];
    NSLog(@"document path:%@",documentpath);
3、获取Caches目录
    NSArray *cachesArray =NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
    NSString *cachespath = [cachesArray objectAtIndex:0];
    NSLog(@"Caches Array:%@",cachesArray);
    NSLog(@"Caches Path:%@",cachespath);
   
 4、获取tmp目录
    NSString *tmppath = NSTemporaryDirectory();
    NSLog(@"tmp path:%@",tmppath);
    
5、获取应用程序程序包中资源文件路径的方法:
例如获取程序包中一个图片资源(icon.png)路径的方法:
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@”icon” ofType:@”png”];
UIImage *iconImage = [[UIImage alloc] initWithContentsOfFile:imagePath];

代码中的mainBundle类方法用于返回一个代表应用程序包的对象。


抱歉!评论已关闭.