Xcode - 写入和删除到Plist

时间:2015-10-20 10:45:57

标签: objective-c xcode plist

我有一个带有两个数组的plist,如下所示:

enter image description here

我目前正在加载这样的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"];
  1. 如何将新项目写入plist中的“array2”数组(代码,而不是手动)
  2. 如何从“array2”中删除项目? (代码,不是手动)
  3. 谢谢。

1 个答案:

答案 0 :(得分:1)

你可能想要:

NSMutableArray *tableData = [dict[@"array2"] mutableCopy];
                                             ^^^^^^^^^^^

(否则你将获得一个不可变数组)。

添加项目:

[tableData addObject:@"new item"];

删除:

[tableData removeObjectAtIndex:someIndex];

或:

[tableData removeObject:someObject];

以及NSMutableArray Class Reference中可以找到的任何其他内容。

然而"回写"听起来你正试图将.plist写回应用程序包中。虽然这可以在iOS模拟器中使用,但它会在真实设备上失败。

您无法在运行时写入应用程序包;写入 Documents 文件夹,并灵活地阅读从哪里阅读。