Как указать индекс объекта NSIndexSet? - PullRequest
1 голос
/ 30 июля 2011

каждый.

Я хочу указать индекс NSIndexSet объекта.

Найти другой метод, но я не могу найти.

Как указать индекс объекта NSIndexSet?

NSMutableArray *array = [[NSMutableArray alloc]initWithObjects:@"A",@"B",@"C",@"A", nil];

NSIndexSet *indexset = [array indexesOfObjectsPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) {
    return [obj isEqual:@"A"];
}];

NSLog(@"%@",[array objectsAtIndexes:indexset]);

// I want to indicate index of NSIndexSet object.
NSLog(@"%d",[indexset ?]);

Ответы [ 2 ]

1 голос
/ 30 июля 2011

Если вы хотите получить количество индексов, хранящихся в NSIndexSet, используйте свойство count:

NSLog(@"%d",[indexset count]);
0 голосов
/ 23 июля 2014

Начиная с iOS 4.0 и> есть несколько методов, которые перечисляют NSIndexSet, вот тот, который отвечает на этот вопрос, - (void)enumerateIndexesUsingBlock:(void (^)(NSUInteger idx, BOOL *stop))block

[indexset enumerateIndexesUsingBlock:^(NSUInteger idx, BOOL *stop) {
    NSLog(@"%d=>%@",idx,[array objectAtIndex:idx]);
}];
...