-1

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

假设我有这个字典数组:

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 删除字典的一个或多个键。

我会非常感谢你的帮助

4

3 回答 3

3

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

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

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

于 2013-09-05T05:33:40.067 回答
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"];
}
于 2013-09-05T05:26:44.483 回答
0

我想你使用NSMutableArrayandNSMutableDictionary作为变量:

for (NSMutableDictionary *dict in myArray) {
    if ([[dict objectForKey: @"city"] isEqualToString:@"Los Angeles"]) {
        [dict removeObjectForKey:@"city"]
    }
}
于 2013-09-05T05:29:30.150 回答