2013-04-28 103 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