我想了解如何创建自己的目录树,从我的应用程序访问它。

我在做某种类型的学习计划,并希望创建这样的目录结构:

-MyLessonsDirectory
--LessonDirectory_1
---Step_1
---Step_2
---Step_3
--LessonDirectory_2
---Step_1
---Step_2
---Step_3
.
.
and so on

在每个“步骤”我-directory将会对课的是,步骤的特定内容。内容是由我在开发补充说。因此,我不希望从应用程序中创建的结构和内容,只是访问和读取目录的内容。如果我可以创造这种结构,并使用它,它会很容易地创建一个不错的设计,可以很容易建立在我的应用程序的新的经验教训。

我想不通的是,我应该在Xcode中的文件结构创建这些目录和的路径是什么,从我的应用程序的目录。

有帮助吗?

解决方案

在iPhone上,你只能访问这些应用自己的目录。最好的地方,放置在文件目录练习文件夹中的应用程序目录。

此...

NSString *dp=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];

...给你的路径目录文件夹,然后您可以移交给了的NSFileManager。

如果你想直观地看到的目录结构,在模拟器和外观运行应用程序

~/Library/Application Support/iPhone Simulator/User/Applications

该应用程序将与所述乱码UUID名称的文件夹中的一个。你可以看到目录和文件出现在Finder中。

我想补充的是,iPhone已经拥有你最可能实际上需要的目录。你有偏好,缓存,TMP,文档等全部到位。

Edit01:

  

我想要做的就是添加内容   手动之前,我开始了   应用。然后,从内   应用我会读的内容我   在启动应用程序之前添加。

您不能改变默认的目录结构,以及如何应用程序或它的目录安装绝对没有控制权。 iPhone应用程序没有任何形式的外部支持文件。每一件事情是应用程序束的内侧。

然而,应用程序包是真的只是一个目录,这样就可以的东西里面的东西复制出来到第一次的默认目录中的一个应用程序运行。你可以写上你要的文件的任何内容。

其他提示

您想看看的NSFileManager创建目录:

NSFileManager *fm = [NSFileManager defaultManager];
NSError *error;
BOOL result = [fm createDirectoryAtPath:@"path....." withIntermediateDirectories:YES attributes:nil error:&error];
if(result){
   NSLog(@"success!");
} else {
   NSLog(@"error: %@",error);
}

至于在哪里创建的目录,你可以把它放在〜/应用程序支持/ - 您的应用程序的名称 - 这是你应该存储你的应用程序的数据,如果用户不需要访问它。否则,你应该让用户决定在哪里保存它。

- (NSString *)applicationSupportDirectory {

       NSArray *paths = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES);
       NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : NSTemporaryDirectory();
       return [basePath stringByAppendingPathComponent:@"MyApplication"];
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top