ios有一种方法可以编程方式为多个键执行removeobjectsforkeys

时间:2013-09-05 05:22:27

标签: iphone ios objective-c nsdictionary

你们中的任何人都知道如何以编程方式使用removeobjectsforkeys从字典的nsarray中删除一个或多个keyvalue对。

假设我有这一系列词典:

myArray=
myList1
{
    gender = @"male"
    id = 11231
    name = @"John doe"
    picture = @"n/a"
    state = @"CA"
    city = @"Los Angeles"
}
myList1
{
    gender = @"female"
    id = 13123123
    name = @"Teresa doe"
    picture = @"n/a"
    state = @"CA"
    city = @"Los Angeles"
}

如何根据请求使用removeobjectsforkeys删除字典中的一个或多个键。

我真的很感谢你的帮助

3 个答案:

答案 0 :(得分:3)

如果你有一个可变数组的可变数组,你可以从数组的所有元素中删除一个键及其对象,如下所示:

[myArray makeObjectsPerformSelector:@selector(removeObjectForKey:) withObject:@"key2"];

您还可以通过在withObject:参数中传递一组键来使用复数版本removeObjectsForKeys:。

答案 1 :(得分:0)

这里我只是将我的简单逻辑与字典一起放入(两者都是可变的)

for(int i = 0 ; i < arrayOfDic.count ; i ++)
{
       [[arrayOfDic objectAtIndex:i] removeObjectForKey:@"keyName1"];
       [[arrayOfDic objectAtIndex:i] removeObjectForKey:@"keyName2"];
       .
       .
       .
       [[arrayOfDic objectAtIndex:i] removeObjectForKey:@"keyName_N"];
}

答案 2 :(得分:0)

我想您使用NSMutableArrayNSMutableDictionary作为变量:

for (NSMutableDictionary *dict in myArray) {
    if ([[dict objectForKey: @"city"] isEqualToString:@"Los Angeles"]) {
        [dict removeObjectForKey:@"city"]
    }
}