【问题标题】:How to determine if object with given property exists in nsarray / nsmutablearray如何确定具有给定属性的对象是否存在于 nsarray / nsmutablearray
【发布时间】:2013-08-13 19:09:43
【问题描述】:

我有一个 NSMutableArray,我想检查那里是否有一个对象,其中某个属性设置为特定值。例如,数组中填充了用户,我想检查是否有变量 user_id 设置为 67 的对象。有没有办法用块或谓词或其他东西来做到这一点而不必遍历数组?

【问题讨论】:

标签: ios objective-c arrays nsarray


【解决方案1】:

这从上述链接中起到了作用!

NSArray *people = /* array of people objects */

NSPredicate *pred = [NSPredicate predicateWithFormat:@"Id = 1 AND Id != 2"];

NSArray *matches = [people filteredArrayUsingPredicate:pred];

【讨论】:

  • 我相信这会比使用 for 并在找到值时退出它要慢。
  • 如果您只需要存在,那么[array indexOfObjectPassingTest:...] 可能更有效,因为它不会构建新数组。
  • 就我而言,我最终还是需要该元素
猜你喜欢
  • 2012-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多