S.J. Lim
S.J. Lim

Reputation: 3165

How to indicate index of NSIndexSet object?

everyone.

I want to indicate index of NSIndexSet object.

Find various method but I can't find.

How to indicate index of NSIndexSet object?

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 ?]);

Upvotes: 1

Views: 1007

Answers (2)

Hemang
Hemang

Reputation: 27052

From, iOS 4.0 and > there's few method which enumerates the NSIndexSet, here's the one which answering to this question, - (void)enumerateIndexesUsingBlock:(void (^)(NSUInteger idx, BOOL *stop))block

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

Upvotes: 0

Vladimir
Vladimir

Reputation: 170839

If you want to get number of indices stored in NSIndexSet then use count property:

NSLog(@"%d",[indexset count]);

Upvotes: 1

Related Questions