NSMutableArray快速搜索???? /

时间:2011-06-28 18:37:03

标签: objective-c nsmutablearray

我有一个带有以下对象的NSMutableArray:

  @interface MyViewCell : UITableViewCell {

    NSUInteger id;
    .....
  }

在某些方法中,我需要快速搜索具有预定义ID的单元格。怎么做到最好?

2 个答案:

答案 0 :(得分:9)

可能最简单的方法是使用- (NSUInteger)indexOfObjectPassingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicate。请参阅文档here

int index = [myArray indexOfObjectPassingTest: ^(id obj, NSUInteger idx, BOOL *stop) {
    MyViewCell *cell = (MyViewCell *)obj;
    BOOL result = (cell.id == someValue);
    stop = &result;
    return result;
}];

答案 1 :(得分:1)

当我尝试代码时,遇到了一个小问题。下一个调整代码对我来说很好( *停止):

int index = [myArray indexOfObjectPassingTest: ^(id obj, NSUInteger idx, BOOL *stop) {
    MyViewCell *cell = (MyViewCell *)obj;
    BOOL result = (cell.id == someValue);
    *stop = result;
    return result;
}];