NSMutableArray *array = [NSMutableArray arrayWithObjects:@{@"name":@"Jenny",@"age":@23},@{@"name":@"Daisy",@"age":@27},nil];
是否可以在数组的字典对象中通过键删除对象?
例如。按 age = 27 删除对象
最佳答案
要从 NSArray 中过滤出对象,请调用 filteredArrayUsingPredicate
:
NSArray *array = @[@{@"name":@"Jenny",@"age":@23},@{@"name":@"Daisy",@"age":@27}];
NSArray *array2 =
[array filteredArrayUsingPredicate:
[NSPredicate predicateWithBlock:^BOOL(id obj, NSDictionary *d) {
return ![[obj valueForKey:@"age"] isEqual:@27];
}]];
现在 array2
是所需的数组 - 它是第一个没有年龄为 27 岁的数组。
顺便说一句,我知道这不是您要问的,但这类事情是切换到 Swift 的很好的理由。这太简单了;这类问题就像 Swift 的活泼 NEON 广告:
let array = [["name":"Jenny", "age":23],["name":"Daisy", "age":27]]
let array2 = array.filter {$0["age"] != 27}
关于ios - 通过键从 NSMutableArray 中删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27698777/