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