【发布时间】:2012-07-01 09:48:18
【问题描述】:
我有一个 NSMutableArray pages 和几个对象(Page 的实例)。每个Page 实例都有一个UUID 和其他属性,例如内容。当 page 更改时,除了 UUID 之外的所有内容都可能更改。更改后,我想通过使用indexOfObject: 找出pages 中特定Page 的索引。我使用 UUID 来识别我正在寻找的索引,这很好用:
NSMutableArray *uuids = [[NSMutableArray alloc] init];
for (int i = 0; i < [self.pages count]; i++) {
[uuids addObject:[[pages objectAtIndex:i] uuid]];
}
NSUInteger indexOfPage = [uuids indexOfObject:page.uuid];
现在我的问题是是否有更优雅的方式来做到这一点。我真正需要的是pages 中具有给定UUID 的Page 对象的索引。
有
- (NSIndexSet *)indexesOfObjectsPassingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicate 或 indexOfAccessibilityElement:<#(id)#> 但我不确定这两种方法如何帮助我解决问题。
【问题讨论】:
标签: objective-c cocoa-touch nsarray