我将如何检查 NSInteger 是否在 NSMutableArray 中?

How will I check a NSInteger is in a NSMutableArray?

我正在将 NSInteger 对象添加为 NSMutableArray 中的 NSNumber。但是现在我处于这样的状态,我需要检查 NSInteger 是否在 NSMutableArray 中。如果数组包含该值,那么我将执行下一个代码,否则我将执行其他代码。我只想在数组不包含该值时执行 else 条件。我试过这段代码:

for(int i=0; i<self.indexArray.count; i++){
   if([[self.indexArray objectAtIndex:i] integerValue]==self.selectedIndex){
       NSLog(@"execute if in the array");
    }
   else{
       NSLog(@"execute if not in the array");
   }
}

虽然数组中包含值,但else正在执行循环。我的问题是如何检查一个值是否在 NSMutableArray 中。

这是简单的解决方案:

BOOL containsSelected = NO;

for (int i = 0; i < self.indexArray.count; i++){
   if ([[self.indexArray objectAtIndex:i] integerValue] == self.selectedIndex){
       containsSelected = YES;
       break;
   }
}

if (containsSelected) {
    NSLog(@"execute if in the array");
} else {
    NSLog(@"execute if not in the array");
}

我相信这可以进一步简化为:

if ([self.indexArray containsObject:@(self.selectedIndex)]) {
    NSLog(@"execute if in the array");
} else {
    NSLog(@"execute if not in the array");
}

不过我没测试过