1

我在 XCODE 的 plist 文件内的数组中添加和删除项目时遇到问题。

我可以通过以下代码读取数组:

// Path to the plist (in the application bundle) ------>>>>>
NSString *path = [[NSBundle mainBundle] pathForResource:
                  @"Fav" ofType:@"plist"];

// Build the array from the plist  ------>>>

NSDictionary *favs = [[NSMutableDictionary alloc] initWithContentsOfFile: path];
Resepies = [favs objectForKey:@"Root"];

这是我的 plist 结构

在此处输入图像描述

场景是让用户一次从数组中添加和删除特定项目。

4

2 回答 2

3

试试这个代码 -

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

// Build the array from the plist  ------>>>

NSDictionary *favs = [[NSMutableDictionary alloc] initWithContentsOfFile: path];

Resepies = [favs objectForKey:@"Root"];

[Resepies addObject:addYourObjectHere];

//then add this array into dictonary ; 

[favs setObject:Resepies forKey:@"Root"];

// now write dictionary to plist

[favs writeToFile:yourPlistName atomically:YES];
于 2012-06-12T12:29:04.413 回答
2

您不能修改应用程序包中的文件,这是您上面的代码试图做的事情。

如果文件应该是可修改的,则需要先将其移动到文档文件夹中(例如,在第一次运行时),然后随后读取/写入该文件夹。有很多关于如何做到这一点的问题,例如:create plist and copying plist to document directory

于 2012-06-12T11:01:44.007 回答