我正在开发一个iPhone应用程序,我想在其中使用.plist文件来保存一些配置变量。
在我的xcode中创建.plist文件以及如何访问它?
谢谢,
答案 0 :(得分:6)
您将放入资源文件夹。然后用这样的东西加载它:
NSString *file = [[NSBundle mainBundle] pathForResource:@"TwitterUsers" ofType:@"plist"];
NSArray *Props = [[NSArray alloc] initWithContentsOfFile:file];
TwitterUsers是plist文件的名称。
如果你的plist文件包含键和值,你可以使第二行成为NSDictionary而不是NSArray。
答案 1 :(得分:6)
要将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”];
答案 2 :(得分:3)
我建议将它保存在应用程序包的Resources目录中,但您只需将其拖到项目窗口即可。 NSBundle
方法pathForResource:ofType:
应该为您提供一条路径,您可以将其传递给NSDictionary
的{{1}}。
编辑:抱歉,完整的代码示例(我以为我已经复制并粘贴了):
dictionaryWithContentsOfFile:
答案 3 :(得分:3)
编辑刚发生在我身上的“配置变量”可能不是一成不变的。如果是这种情况,请忽略这个答案。
我建议您使用NSUserDefaults来存储配置变量,而不是滚动自己的系统。
如果要修改应用程序包中的.plist
,则可能会使捆绑包上的签名失效,但不会结束。
如果您必须存储和修改自己的.plist
,请将其存储在Documents
目录中,该目录也是您的应用程序应存储下载,创建等内容的位置。请参阅{{3} }和File and Data Management。
答案 4 :(得分:1)
默认情况下,如果您已将plist包含在项目的任何位置(在Resources或其他情况下),XCode会将其复制到应用程序包中,您可以使用上述pathForResource
调用将其复制到该应用程序包中。我只是想提一下,因为你可能更喜欢在资源中没有它的分组......
答案 5 :(得分:0)
你可以找到示例sqlite book .....将silte数据文件保存到目录'Document'中....你会知道prcess
答案 6 :(得分:0)
为什么会使捆绑包失效?
资源文件夹中的plist文件是否会像在文档文件夹中的文件一样在iTunes中备份?