ここでブール値の配列をテストするために同様の質問をしましたが、値が整数値になり、それらのいずれかが正であるかどうかを確認したいので、変更しました。
たとえば、以下のようなループで 10 個の新しいオブジェクトを追加すると、ある時点で一部が変更される可能性があり、テストを行う必要があります。int を取得できる限り、NSNumber を使用しない可能性があります。
// 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;
}