我有一个带有两个数组的plist,如下所示:
我目前正在加载这样的plist:
// Find path of plist
NSString *path = [[NSBundle mainBundle] pathForResource:@"nameofPList" ofType:@"plist"];
// Read the data into arrays
NSMutableDictionary *dict = [[NSMutableDictionary alloc] initWithContentsOfFile:path];
NSMutableArray *tableData = [dict objectForKey:@"array2"];
谢谢。
答案 0 :(得分:1)
你可能想要:
NSMutableArray *tableData = [dict[@"array2"] mutableCopy];
^^^^^^^^^^^
(否则你将获得一个不可变数组)。
添加项目:
[tableData addObject:@"new item"];
删除:
[tableData removeObjectAtIndex:someIndex];
或:
[tableData removeObject:someObject];
以及NSMutableArray
Class Reference中可以找到的任何其他内容。
然而"回写"听起来你正试图将.plist
写回应用程序包中。虽然这可以在iOS模拟器中使用,但它会在真实设备上失败。
您无法在运行时写入应用程序包;写入 Documents 文件夹,并灵活地阅读从哪里阅读。