我问了一个类似的问题来在这里测试一个布尔值数组,但现在我已经改变了它,所以这些值现在是整数值,我想看看它们中的任何一个是否为正。
例如,我在下面的循环中添加了 10 个新对象,然后在某些时候可能会发生变化,然后我需要进行测试。可能是我不使用 NSNumber,只要我能从中得到一个 int。
// I create an array like
NSMutableArray *MyArray = [[NSMutableArray alloc]init];
for (int count = 0; count < 10; count++)
{
[MyArray addObject:[NSNumber numberWithInt:0]];
}
// At some point I change a value or two
[MyArray replaceObjectAtIndex:3 withObject:[NSNumber numberWithInt:5]];
....
....
....
....
[MyArray replaceObjectAtIndex:3 withObject:[NSNumber numberWithInt:7]];
if([MyArray containsPositiveObject])
{
// Get the integer
int MyValue = [MyArray[4]integerValue];
}
编辑
我已经尝试过了,它有效,但想知道是否有更快的方法。
if([self containsPositiveValue:selectedItems])
{
// Do my stuff
}
接着
-(bool)containsPositiveValue:(NSArray *)numberArray
{
bool result = NO;
for (NSNumber *obj in numberArray)
{
if([obj integerValue])
{
result = YES;
break;
}
}
return result;
}