Если нацелена на iOS 4.0 или выше, есть методы NSArray
, которые позволяют вам делать это с помощью блоков.
– indexOfObjectPassingTest:
– indexesOfObjectsPassingTest:
и т.д ..
NSArray *test = [NSArray arrayWithObjects:
[NSDictionary dictionaryWithObjectsAndKeys:@"A", @"Code", @"None", @"Comment", @"Core", @"Core", nil],
[NSDictionary dictionaryWithObjectsAndKeys:@"B", @"Code", @"None", @"Comment", @"Core", @"Core", nil],
[NSDictionary dictionaryWithObjectsAndKeys:@"C", @"Code", @"None", @"Comment", @"Core", @"Core", nil],
nil];
NSIndexSet *indexes =[test indexesOfObjectsPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) {
return [[obj valueForKey:@"Code"] isEqualToString:@"B"];
}];
NSLog(@"Indexes with Code B: %@", indexes);