0

我将不同的代码保存在 NSMutableDictionary 中,稍后检查特定代码是否在字典中。

不,我想删除包含代码的条目。

在这里,您可以看到带有 dict 的数组的外观:

2013-04-28 12:43:23.877 myApp[9422:907] pushArray: (
    {
    code = 123;
    titel = "Test 01";
},
    {
    code = 456;
    titel = "Test 02";
},
    {
    code = 789;
    titel = "Test 03";
}
)

在这里您可以看到我如何搜索代码:

for(NSMutableDictionary * pushDict in pushArray) {
    NSString * codeFromDict = [pushDict objectForKey: @"code"];
    if([code_I_search isEqualToString: codeFromDict]){
        // This is called if the code is found
    }
}

这一切都很好,但现在我不知道如何删除条目......

结果应该是:

如果我搜索代码789并说“删除”,这将被删除:

{
code = 789;
titel = "Test 03";
}

我试过了[pushDict removeAllObjects];,但那不起作用。

4

1 回答 1

1

您想删除整个条目,对吗?

如果是这样,那么让你的 " pushArray" aNSMutableArray然后你可以通过以下方式删除有问题的字典条目:

for(NSDictionary * pushDict in pushArray) {
    NSString * codeFromDict = [pushDict objectForKey: @"code"];
    if([code_I_search isEqualToString: codeFromDict]){
        [pushArray removeObject: pushDict];
    }
}

你在那里做的方式是从 pushDict 中删除所有对象,而不是从(不可变)数组中删除实际的 pushDict 对象。

于 2013-04-28T13:50:09.377 回答