我在NSMutableDictionary中保存不同的代码,稍后检查特定代码是否在dict中。
不,我想删除包含代码的条目。
在这里,您可以看到我的数组与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];
,但那不起作用。
答案 0 :(得分:1)
你想要删除整个条目,对吗?
如果是,请将“pushArray
”设为NSMutableArray
,然后您可以通过以下方式删除违规字典条目:
for(NSDictionary * pushDict in pushArray) {
NSString * codeFromDict = [pushDict objectForKey: @"code"];
if([code_I_search isEqualToString: codeFromDict]){
[pushArray removeObject: pushDict];
}
}
你在那里做的方式是,你要从pushDict中删除所有对象,而不是从(不可变)数组中删除实际的pushDict对象。