Как говорит Чак, используйте -[NSArray containsObject:[NSNumber numberWithBool:YES]]
. В качестве мысленного эксперимента, вот некоторые другие способы достижения цели ...
Вы можете сделать это, используя NSPredicate
или используя новый API блоков:
NSArray *myArr //decleared, initialized and filled
BOOL anyTrue = [myArray filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"boolValue == 1"]].count > 0;
или
BOOL anyTrue = [myArray indexesOfObjectsPassingTest:^(id obj, NSUInteger idx, BOOL *stop) {
if([obj boolValue]) {
*stop = YES;
}
return [obj boolValue];
}].count > 0;
Вы также можете использовать кодирование значения ключа, хотя я не уверен в его относительной эффективности:
[[myArray valueForKeyPath:@"@sum.boolValue"] integerValue] > 0;