iOS应用程序沙盒中的默认文件

iOS应用程序沙盒中的默认文件,ios,objective-c,file,Ios,Objective C,File,我正在为iPhone创建一个测验应用程序。我将所有问题存储在一个NSArray中,该数组在每次打开应用程序时从.xml文件加载。该文件在应用程序的所有“实例”中都是相同的,用户永远不会更改该文件 我可以用代码对所有问题进行硬编码,但我发现将其保存在一个文件中更为优雅,任何文本编辑器都可以轻松编辑该文件 但是我如何为每个应用程序的“实例”提供该文件的副本?该文件应与其他应用程序文件捆绑在一起。 这是我目前使用的代码(应用程序内委托) 无需尝试将文件存储在Documents目录中。只需将其存储在应用

我正在为iPhone创建一个测验应用程序。我将所有问题存储在一个
NSArray
中,该数组在每次打开应用程序时从
.xml
文件加载。该文件在应用程序的所有“实例”中都是相同的,用户永远不会更改该文件

我可以用代码对所有问题进行硬编码,但我发现将其保存在一个文件中更为优雅,任何文本编辑器都可以轻松编辑该文件

但是我如何为每个应用程序的“实例”提供该文件的副本?该文件应与其他应用程序文件捆绑在一起。

这是我目前使用的代码(应用程序内委托)


无需尝试将文件存储在Documents目录中。只需将其存储在应用程序包中即可。这与图像文件、声音文件或任何其他资源的工作方式完全相同。使文件成为项目的一部分;确保它是应用程序目标的一部分,以便将其作为构建过程的一部分复制到应用程序包中。在正在运行的应用程序中,使用
[[NSBundle mainBundle]pathForResource:ofType:][/code>获取其路径,并像读取任何此类文件一样读取它。

无需尝试将该文件存储在Documents目录中。只需将其存储在应用程序包中即可。这与图像文件、声音文件或任何其他资源的工作方式完全相同。使文件成为项目的一部分;确保它是应用程序目标的一部分,以便将其作为构建过程的一部分复制到应用程序包中。在正在运行的应用程序中,使用
[[NSBundle mainBundle]pathForResource:ofType:][/code>获取其路径,并像读取任何此类文件一样读取它。

无需尝试将该文件存储在Documents目录中。只需将其存储在应用程序包中即可。这与图像文件、声音文件或任何其他资源的工作方式完全相同。使文件成为项目的一部分;确保它是应用程序目标的一部分,以便将其作为构建过程的一部分复制到应用程序包中。在正在运行的应用程序中,使用
[[NSBundle mainBundle]pathForResource:ofType:][/code>获取其路径,并像读取任何此类文件一样读取它。

无需尝试将该文件存储在Documents目录中。只需将其存储在应用程序包中即可。这与图像文件、声音文件或任何其他资源的工作方式完全相同。使文件成为项目的一部分;确保它是应用程序目标的一部分,以便将其作为构建过程的一部分复制到应用程序包中。在正在运行的应用程序中,使用
[[NSBundle mainBundle]pathForResource:ofType::
获取其路径,并像读取任何此类文件一样读取它。

我不确定您在问什么。你在问如何将xml文件作为资源添加到应用程序中?是的,我不知道它叫什么。我不确定你在问什么。你在问如何将xml文件作为资源添加到应用程序中?是的,我不知道它叫什么。我不确定你在问什么。你在问如何将xml文件作为资源添加到应用程序中?是的,我不知道它叫什么。我不确定你在问什么。你是在问如何将xml文件作为资源添加到应用程序中吗?是的,我不知道它叫什么。试过了,效果非常好!您还可以在Xcode中直接编辑带有语法高亮显示的.xml文件,这也很好。尝试过了,效果非常好!您还可以在Xcode中直接编辑带有语法高亮显示的.xml文件,这也很好。尝试过了,效果非常好!您还可以在Xcode中直接编辑带有语法高亮显示的.xml文件,这也很好。尝试过了,效果非常好!您还可以在Xcode中直接编辑.xml文件并突出显示语法,这也很好。
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                                             NSUserDomainMask, 
                                                             YES);
NSString *path = documentPaths[0];
path = [path stringByAppendingPathComponent:@"questions.archive"];

NSArray *fileQuestions = [[NSArray alloc] initWithContentsOfFile:path];
if (!fileQuestions)
{
    // Code to add three default questions…

    [fileQuestions writeToFile:path
                    atomically:YES];
}

// And here the "file questions" are transformed to instances of my question class