我正在开发一个 iPhone 应用程序,我想在其中使用 .plist 文件来保存一些配置变量。

在我的 xcode 中,在哪里创建 .plist 文件以及如何访问它???

谢谢你,

有帮助吗?

解决方案

您会放在资源文件夹中。然后使用这样的加载它:

NSString *file = [[NSBundle mainBundle] pathForResource:@"TwitterUsers" ofType:@"plist"];
NSArray *Props = [[NSArray alloc] initWithContentsOfFile:file];

在哪里TwitterUsers是你的plist文件的名称。

如果您的plist文件包含键和值,你会做第二行一个NSDictionary,而不是NSArray的。

其他提示

要保存plist文件在你的文档目录,你将不得不包括plist文件在您的应用程序,然后在第一次发射将它复制到文档目录。

要获得访问该文件在文件目录:

NSArray *paths = 
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
                                    NSUserDomainMask, YES); 
NSString *documentsPath = [paths objectAtIndex:0]; 

// <Application Home>/Documents/foo.plist 
NSString *fooPath = 
[documentsPath stringByAppendingPathComponent:@“foo.plist”];

我会建议保持它在应用程序包中的资源目录,但你可以将它拖动到项目窗口。该方法NSBundle pathForResource:ofType:应该给你的路径,这可以通到NSDictionarydictionaryWithContentsOfFile:

编辑:对不起,全码的样品(想我已经复制&粘贴):

NSString *path = [[NSBundle mainBundle] pathForResource:@"MyConfig" ofType:@"plist"];
NSDictionary *myConfig = [NSDictionary dictionaryWithContentsOfFile:path];

编辑 我刚刚想到“配置变量”可能不是一成不变的。如果是这种情况,请忽略此答案。

我建议你使用 NS用户默认值 存储配置变量而不是滚动您自己的系统。

如果您正在修改一个 .plist 在您的应用程序包中,您将面临使包上的签名无效的风险,同时不会有好结果。

如果您必须存储和修改自己的 .plist, ,将其存储在 Documents 目录,您的应用程序也应该在其中存储它下载、创建等的任何内容。看 文件和数据管理NS文件管理器.

默认情况下,如果你已经包括在项目中的plist的任何地方(在资源或其他方式)的XCode将它复制到应用程序包在那里你可以得到它与上述pathForResource电话。只是想我会提到,你可能更喜欢一组,你不把它的资源...

您可以找到实例sqlite的书.....的silte数据文件被保存到目录“文档” ....你就会知道prcess

  1. 为什么它会使捆绑包失效?

  2. 资源文件夹中的这个 plist 文件会像文档文件夹中的文件一样备份在 iTunes 中吗?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top