【发布时间】:2011-06-25 03:25:38
【问题描述】:
我创建了一个 plist,它被初始化为字典数组的数组。 plist 存储动态数据。因此,当应用程序终止时,可能会添加新的字典元素。或者可能需要添加新的字典元素数组。稍后,可能会有更少的字典元素,从而不再需要以前的元素。虽然有很多关于向 plist 添加元素的讨论,但似乎没有一个能解决我的问题。这是最初的 plist 描述:
Key Type Value
Root Dictionary (2 items)
Hourly Data Array (1 item)
Item 0 Array (1 item) <--how do I add more of these
Item 0 Dictionary (3 items) <--how do I add more of these
Name String Joe
Rank String private
serialNo String 123456
NonHourly Data Array (1 item)
Item 0 Array (1 item)
Item 0 Dictionary (3 items)
Name String Jeff
Rank String private
serialNo String 654321
虽然我完全了解如何读取此 plist 文件,但我不明白如何将数组元素添加到 Hourly 和 NonHourly Data 数组,或者如何添加新的 Dictionary 数组项,然后将它们写回 plist .
那么以下面的代码为起点,我该如何完成这段代码来添加上述的数组元素和字典元素:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); // Create a list of paths
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *configPlist = [documentsDirectory stringByAppendingPathComponent:@"config.plist"];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSMutableDictionary *data = [[NSMutableDictionary alloc] initWithContentsOfFile: configPlist];
...
[data writeToFile: configPlist atomically:YES];
【问题讨论】:
标签: objective-c ios plist