我必须在Xcode中手动创建一个.plist文件,然后添加一些常量数据(一种小型数据库),几个对象,每个对象都有一个字符串和一个数字。每次程序启动时,在程序中将其读入数组。 .plist文件不会更改。我找不到创建.plist的方法并手动填充数据。
答案 0 :(得分:8)
这很容易。由于您不会改变它,您可以将其添加为file-> new-> resource-> plist ..然后以您喜欢的方式手动输入数据。
阅读plists可以这样做:
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,您必须将其复制到应用程序的文档目录中。如果你需要,我也可以发给你。
答案 1 :(得分: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);