2

我必须在 Xcode 中手动创建一个 .plist 文件,然后向其中添加一些常量数据(一种小型数据库)、几个对象,每个对象都有一个字符串和一个数字。然后每次程序启动时将它在我的程序中读入一个数组。.plist 文件不会改变。我找不到创建 .plist 并手动填充数据的方法。

4

2 回答 2

8

那么它很容易。由于您不会更改它,您可以将其添加为 file->new->resource->plist.. 然后以您喜欢的方式手动输入数据。

阅读 plist 可以这样完成:

NSURL *file = [[NSBundle mainBundle] URLForResource:@"myplist" withExtension:@"plist"]; //Lets get the file location

 NSDictionary *plistContent = [NSDictionary dictionaryWithContentsOfURL:file];

访问 plist 中的内容就像:

NSString *playerName = [plistContent objectForKey@"player"];

在 xcode plist 编辑器中设置键名。请注意,这仅适用于阅读。要写入 plist,您必须将其复制到应用程序的文档目录中。如果您需要,我也可以为您发布。

于 2012-12-04T18:23:13.930 回答
0

你使用一个 NSMutableDictionary,给它一个 NSMutableArray 作为一个孩子,然后调用 writeToFile

工作示例代码:

    NSMutableArray *myArrayToWrite = [NSMutableArray array];
    [myArrayToWrite addObject:@"blablub"];
    [myArrayToWrite addObject:[NSNumber numberWithInt:123]];

    NSMutableDictionary *plistToWrite = [NSMutableDictionary dictionary];
    [plistToWrite setObject:myArrayToWrite forKey:@"data"]; 

    [plistToWrite writeToFile:@"/Users/Shared/TEMP.plist" atomically:NO];

    //---
    NSDictionary *plistRead = [NSDictionary dictionaryWithContentsOfFile:@"/Users/Shared/TEMP.plist"];

    NSArray *arrayRead = [plistRead objectForKey:@"data"];
    NSLog(@"%@", arrayRead);
于 2012-12-04T18:28:13.067 回答