您的位置:首页 > 移动开发 > IOS开发

菜鸟初学IOS,整理一下获取IOS各种沙盒路径的方法

2014-05-11 23:34 316 查看
        在下初学IOS编程,有很多不懂以及不了解的地方,本着分享的精神,将自己学到用到的一些东西写出来,如果有不正确的地方,希望大家指正。
   本次讲解的是IOS下各个文件夹的相关知识。

   首先,我们应该知道,在IOS下,共有4个文件夹,分别是documents,tmp,app,Library,其中app我们一般比较少接触到,因为里面都是一些应用程序,貌似由于签名之类的原因,我们在运行时不能修改这个目录的东西否则可能导致我们的应用无法正常运行(这部分我也不太懂,建议想要详细了解的童鞋再去查一下吧)。

   而documents这个目录,用于存储用户数据等相关信息,也是我们主要应用的目录。

   tmp 目录:这个目录就和它的名字一样,就是用于存放临时文件以及一些暂时不需要的信息的。

   library目录,下设两个收下,分别是Caches 和 Preferences,其中Preferences 目录用于存放应用程序的偏好设置文件。而Caches 目录:用于存放应用程序专用的支持文件。

  下面是获取各个目录的代码:

   获取Documents目录路径的方法:

NSString* documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; //1
NSLog(@"%@", documentPath);//2
  上述中步骤1就是获取document目录的方法。而2的作用在于输出这个路径,用于检测,这里我对初学者稍微提一下我犯的错误,就是我曾经按照目录逐层地去找那个文件,结果无论如何都找不到,那是因为有一层文件是隐藏的,所以如果你想手动去找一下的话,需要设置隐藏文件可视,方法很简单,在命令行输入如下:

显示:defaults
write com.apple.finder AppleShowAllFiles -bool true
隐藏:defaults write com.apple.finder AppleShowAllFiles -bool false 

     当然,这里只是顺便科普一下显示/取消隐藏文件的做法,我是不建议大家手动去找的,大家只需要点击finder,然后点击“前往”,将地址复制进去就OK了,方便快捷。

   至于获得其它的路径的代码,也是大同小异:

   获取library目录路径:

NSString *librarytPath=[NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0];
   获取tmp目录路径:

NSString *tempPath=NSTemporaryDirectory();


  以上,就是常用的目录路径的获取方法,那么,当我们要具体获得里面的某一文件的路径的时候怎么办呢?以下

   NSString *fileName = @"1.txt";//1
NSString *localDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];//2
NSLog(@"%@", localDir);
NSString *filePath = [localDir stringByAppendingPathComponent:fileName];//3 
     上述代码中,第一步是写下文件的名称,第二步是取得document的路径,第三步就是取得文件路径啦。
     当然,这是我们明确知道文件名的情况,或者我们要创建1.txt时候用到的,那么在我们不知道里面有什么,且需要知道里面都有些什么的时候,可以用到下面的代码:

NSString *path=[[NSString alloc] initWithString:localDir];
NSFileManager * fileManager = [NSFileManager DefaultManager];
NSArray *arrayForFile = [fileManager directoryContentsAtPath:path];
好啦,以上就是我在学习中用到的一些东西,如果有哪部分写错了,希望大家告诉我一下,我一定虚心改正。

   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios 沙盒 path object-C