NSMutableArray быстрый поиск ???? / - PullRequest
0 голосов
/ 28 июня 2011

У меня есть NSMutableArray со следующими объектами:

  @interface MyViewCell : UITableViewCell {

    NSUInteger id;
    .....
  }

В каком-то методе мне нужен быстрый поиск ячейки с предопределенным идентификатором. Как лучше это сделать?

Ответы [ 2 ]

9 голосов
/ 28 июня 2011

Вероятно, самый простой способ - использовать - (NSUInteger)indexOfObjectPassingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicate.Смотри документацию здесь .

int index = [myArray indexOfObjectPassingTest: ^(id obj, NSUInteger idx, BOOL *stop) {
    MyViewCell *cell = (MyViewCell *)obj;
    BOOL result = (cell.id == someValue);
    stop = &result;
    return result;
}];
1 голос
/ 29 июня 2011

Когда я попробовал код, я столкнулся с небольшой проблемой. Следующий корректирующий код работал нормально для меня (* stop ):

int index = [myArray indexOfObjectPassingTest: ^(id obj, NSUInteger idx, BOOL *stop) {
    MyViewCell *cell = (MyViewCell *)obj;
    BOOL result = (cell.id == someValue);
    *stop = result;
    return result;
}];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...