我将如何检查 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");
}
不过我没测试过
我正在将 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");
}
不过我没测试过