ios - 通过键从 NSMutableArray 中删除对象

标签 ios nsmutablearray nsdictionary

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/

相关文章:

ios - 模态视图 Controller 上的导航栏

ios - 使用 super.init 使用 xib 创建自定义 View 的目的是什么?

ios - 在 NSMutableArray [iOS] 中添加时复制对象

ios - 字典响应错误

iphone - iOS 5 上 NSDictionary 中出现奇怪的重复键,而 iOS 6 上则不然

ios - AudioKit麦克风在首次运行时不会初始化

ios - Sqlite3 自动完成查询?

ios - 找出 NSArray/NSMutableArray 变化的索引

ios - 如何删除 NSMutableArray IOS 中除第一个索引以外的所有索引处的对象

php - 如何在 Swift 3 中将值作为 NSDictionary 获取?