Вы можете использовать блоки:
NSArray *arr = [NSArray arrayWithObjects:[NSString stringWithFormat:@"test"], [NSNumber numberWithInt:10], [NSNull null], nil];
__block int index = NSNotFound;
[arr enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
if ([obj isKindOfClass:[NSNumber class]])
{
index = idx;
*stop = YES;
}
}];
if (index != NSNotFound)
{
NSLog(@"contains at %d", index);
}
Например, в вашем случае:
[ary_navigationControllerViews enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
if ([obj isKindOfClass:[myClass class]])
{
//some my code
*stop = YES;
}
}];
Но я не думаю, что это уменьшит сложность вашего кода.Петли самые простые