你们中的任何人都知道如何以编程方式使用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删除字典中的一个或多个键。
我真的很感谢你的帮助
答案 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)
我想您使用NSMutableArray
和NSMutableDictionary
作为变量:
for (NSMutableDictionary *dict in myArray) {
if ([[dict objectForKey: @"city"] isEqualToString:@"Los Angeles"]) {
[dict removeObjectForKey:@"city"]
}
}