我正在开发一个 iPhone 应用程序,我想在其中使用 .plist 文件来保存一些配置变量。
在我的 xcode 中创建该 .plist 文件的位置以及如何访问它???
谢谢你,
我正在开发一个 iPhone 应用程序,我想在其中使用 .plist 文件来保存一些配置变量。
在我的 xcode 中创建该 .plist 文件的位置以及如何访问它???
谢谢你,
您将放入资源文件夹。然后使用类似这样的东西来加载它:
NSString *file = [[NSBundle mainBundle] pathForResource:@"TwitterUsers" ofType:@"plist"];
NSArray *Props = [[NSArray alloc] initWithContentsOfFile:file];
其中 TwitterUsers 是您的 plist 文件的名称。
如果您的 plist 文件包含键和值,您可以将第二行设为 NSDictionary 而不是 NSArray。
要将 plist 文件存储在 Documents 目录中,您必须在应用程序中包含 plist 文件,然后在首次启动时将其复制到 Documents 目录。
要访问 Documents 目录中的文件:
NSArray *paths =
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];
// <Application Home>/Documents/foo.plist
NSString *fooPath =
[documentsPath stringByAppendingPathComponent:@“foo.plist”];
我建议将其保留在应用程序包的 Resources 目录中,但您可以将其拖到项目窗口中。该NSBundle
方法pathForResource:ofType:
应该为您提供一条路径,您可以将其传递给NSDictionary
's dictionaryWithContentsOfFile:
。
编辑:对不起,完整的代码示例(以为我已经复制并粘贴了):
NSString *path = [[NSBundle mainBundle] pathForResource:@"MyConfig" ofType:@"plist"];
NSDictionary *myConfig = [NSDictionary dictionaryWithContentsOfFile:path];
编辑我刚刚想到“配置变量”可能不是一成不变的。如果是这种情况,请忽略此答案。
我建议您使用NSUserDefaults来存储配置变量,而不是滚动您自己的系统。
如果你.plist
在你的应用程序包中修改一个,你将冒着使包上的签名无效的风险,同时也不会很好地结束。
如果您必须存储和修改自己的.plist
,请将其存储在Documents
目录中,这也是您的应用程序应该存储它下载、创建等的任何内容的地方。请参阅文件和数据管理和NSFileManager。
默认情况下,如果您已将 plist 包含在项目中的任何位置(在资源或其他地方),XCode 会将其复制到应用程序包中,您可以通过上述pathForResource
调用访问它。只是想我会提到,因为您可能更喜欢在资源中没有它的分组...
您可以找到示例 sqlite book ..... silte 数据文件被保存到目录“文档”中 .... 您将知道过程
为什么它会使捆绑包无效?
资源文件夹中的这个 plist 文件是否会像文档文件夹中的文件一样备份到 iTunes 中?