将类型字符串的新键/值添加到pList

时间:2011-10-12 10:13:21

标签: iphone objective-c ios ios4 plist

我正在尝试以编程方式将新行添加到iPhone上的pList文件中。但我无法弄清楚如何。 我想添加键:someKey / type:string / someValue:string

NSString *path = [[NSBundle mainBundle] pathForResource:@"MyPlist" ofType:@"plist"];

NSMutableDictionary *plist = [[NSDictionary dictionaryWithContentsOfFile:path] mutableCopy];
NSMutableArray *newArray = [[[NSMutableArray alloc] init] autorelease];
newArray = [NSArray arrayWithObjects:@"someKey", @"someValue", nil];
[plist setObject:newArray forKey:@"someKey"];
[plist writeToFile:path atomically:YES];
[plist release];

2 个答案:

答案 0 :(得分:1)

您无法修改应用程序包中的文件,这是您上面的代码尝试执行的操作。

如果文件应该是可修改的,则需要先将其移动到文档文件夹中(例如,首次运行时),然后再读取/写入该文件。有很多问题涉及如何执行此操作,例如:copying plist to document directory

答案 1 :(得分:1)

您可以使用NSDictionary进行键值编码:

// create dictionary
NSDictionary *dict = [NSDictionary dictionaryWithObject:@"value" forKey:@"key"];
// add it to plist
[plist setObject:dict forKey:@"customDictionary"];