0

我正在尝试创建具有以下功能的 plist。

在 plist 里面有两个键
1.id 2.status

当前值为 id:91 status:buy here Id 应该是唯一的。意味着如果我尝试添加第三个条目,如 id:91 status:downlaod 。那么它应该用新的替换现有的 91 和 status:buy。

请帮我检查下图 图片

如果我在 ID 中有一个匹配项,如何删除状态和 ID?

4

2 回答 2

1

枚举根数组并比较字典中的 id 值

NSMutableArray *rootArray = [[NSMutableArray alloc] initWithCapacity:0];
NSDictionary *dic = [[NSDictionary alloc] initWithObjectsAndKeys:@"91",@"id",@"Buy",@"status",nil];
NSDictionary *dic1 = [[NSDictionary alloc] initWithObjectsAndKeys:@"92",@"id",@"Download",@"status",nil];
[rootArray addObject:dic];
[rootArray addObject:dic1];  

在此处输入图像描述

NSDictionary *dic3 = [[NSDictionary alloc] initWithObjectsAndKeys:@"91",@"id",@"Download",@"status",nil];
NSDictionary *foundMatch =nil;

for(NSDictionary *dictionary in rootArray)
{
    if ([[dictionary objectForKey:@"id"] isEqualToString:[dic3 objectForKey:@"id"]]) {
        foundMatch = dictionary;
        break;
    }
}
if (foundMatch!=nil) {
    [rootArray removeObject:foundMatch];
    [rootArray addObject:dic3];
}
else {
    [rootArray addObject:dic3];
}
[rootArray writeToFile:@"path" atomically:YES];  

在此处输入图像描述

于 2013-08-02T09:55:33.833 回答
0

它是.plist具有字典数组的文件,每个字典都有两个键

身份
状态

我为您提供有关如何以编程方式创建 plist 文件的官方文档。

于 2013-08-02T09:48:55.507 回答