Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 我自己的目录的位置_Iphone_Objective C_Xcode_File Management - Fatal编程技术网

Iphone 我自己的目录的位置

Iphone 我自己的目录的位置,iphone,objective-c,xcode,file-management,Iphone,Objective C,Xcode,File Management,我试图了解如何创建自己的目录树并从应用程序中访问它 我正在进行某种学习计划,希望创建如下目录结构: -MyLessonsDirectory --LessonDirectory_1 ---Step_1 ---Step_2 ---Step_3 --LessonDirectory_2 ---Step_1 ---Step_2 ---Step_3 . . and so on 在每个“步骤”-目录中,我都会有本课该步骤的具体内容。内容是我在开发时添加的。因此,我不想从应用程序中创建结构和内容,只需访问它并

我试图了解如何创建自己的目录树并从应用程序中访问它

我正在进行某种学习计划,希望创建如下目录结构:

-MyLessonsDirectory
--LessonDirectory_1
---Step_1
---Step_2
---Step_3
--LessonDirectory_2
---Step_1
---Step_2
---Step_3
.
.
and so on
在每个“步骤”-目录中,我都会有本课该步骤的具体内容。内容是我在开发时添加的。因此,我不想从应用程序中创建结构和内容,只需访问它并读取目录的内容即可。如果我能创建这种结构并使用它,那么在我的应用程序中创建一个好的设计将非常容易


我不知道应该在xCode的文件结构中的什么位置创建这些目录,以及从我的应用程序到这些目录的路径是什么

您想查看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);
}
至于在哪里创建目录,你可以把它放在~/Application Support/——你的应用程序的名称——如果用户不需要访问你的应用程序,你应该在这里存储你的应用程序的数据。否则,您应该让用户决定保存它的位置

- (NSString *)applicationSupportDirectory {

       NSArray *paths = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES);
       NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : NSTemporaryDirectory();
       return [basePath stringByAppendingPathComponent:@"MyApplication"];
}

在iPhone上,您只能访问应用程序自己的目录。将练习目录放在应用程序目录的Documents文件夹中的最佳位置

这个

NSString *dp=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
。。。提供目录文件夹的路径,然后可以将其交给NSFileManager

如果您想直观地查看目录结构,请在模拟器上运行应用程序并查看

~/Library/Application Support/iPhone Simulator/User/Applications
应用程序将位于其中一个文件夹中,文件夹名为UUID。您可以在Finder中看到目录和文件

我想补充一点,iPhone已经有了你可能实际需要的大部分目录。您已经准备好了首选项、缓存、tmp、文档等

Edit01:

我想做的是添加内容 在启动前手动执行 应用然后,从内部 我将阅读我所读的内容 在启动应用程序之前添加

您无法更改默认目录结构,并且您完全无法控制应用程序或其目录的安装方式。iPhone应用程序没有任何类型的外部支持文件。所有东西都在应用程序包中


然而,应用程序包实际上只是一个目录,因此您可以在应用程序第一次运行时将内容放入其中并将其复制到其中一个默认目录中。您可以将任何内容写入documents目录

谢谢你的回答。我想我的问题不清楚。我想做的是在启动应用程序之前手动添加内容。然后,在应用程序中,我将阅读在启动应用程序之前添加的内容。我编辑了我的问题以反映这一点。我确实在xCode中直接在项目下创建了一个目录,运行了应用程序,然后在/Users/Niklas/Library/application Support/iPhone Simulator/User/Applications和我的应用程序中进行了检查。目录没有出现,所以我想它不能像我想要的那样工作,创建我自己的目录结构。。。无论如何谢谢,我想我必须找到一个不同的解决方案,也许文件的命名可以用来模拟目录结构…嗯…谢谢你的回答。我想我的问题不清楚。我想做的是在启动应用程序之前手动添加内容。然后,在应用程序中,我将阅读在启动应用程序之前添加的内容。我编辑了我的问题以反映这一点。读你的第一句话,这是否意味着我不能做我想做的事?