2013-04-28 104 views
0

我在NSMutableDictionary中保存不同的代码,稍后检查特定代码是否在字典中。从NSMutableDictionary中移除特定的对象

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

这里你可以看到我用字典阵列的外观:

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];但那不是工作。

回答

1

你想删除整个条目,对吧?

如果是这样,然后通过让你的“pushArray”一NSMutableArray,然后你可以删除有问题的字典条目:

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

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

+0

完美!你让我今天一整天都感觉很好!!! – 2013-04-29 09:34:45