我如何查看我的整数是否在整数数组中......
例如,我想知道 7 是否在 [ 1 3 4 5 6 7 8] 的数组中
有任何想法吗?
谢谢
我如何查看我的整数是否在整数数组中......
例如,我想知道 7 是否在 [ 1 3 4 5 6 7 8] 的数组中
有任何想法吗?
谢谢
这取决于您拥有的数组类型,是对象还是 C 数组。从你的标签来看,你有一个带有 NSIntegers 的 NSArray,这是错误的。NSInteger 不是对象,不能放入 NSArray,除非将它们包装到对象中,例如 NSNumber。
使用containsObject:
方法。
我不完全确定您如何将整数放入 NSArray。通常的方法是使用 NSNumber。
NSArray *theArray = [NSArray arrayWithObjects:[NSNumber numberWithInteger:1],
[NSNumber numberWithInteger:7],
[NSNumber numberWithInteger:3],
nil];
NSNumber *theNumber = [NSNumber numberWithInteger:12];
/*
* if you've got the plain NSInteger you can wrap it
* into an object like this:
* NSInteger theInt = 12;
* NSNumber *theNumber = [NSNumber numberWithInteger:theInt];
*/
if ([theArray containsObject:theNumber]) {
// do something
}
我怀疑您使用的是C-Array。在这种情况下,您必须编写自己的循环。
NSInteger theArray[3] = {1,7,3}
NSInteger theNumber = 12;
for (int i; i < 3; i++) {
if (theArray[i] == theNumber) {
// do something
break; // don't do it twice
// if the number is twice in it
}
}
//assume these data, either from a method call or instance variables
int theArray[7] = {1,7,3,8,5,7,4};
int numberIWant = 8;
//this is the essence in a C-array, which you can easily use on ios
BOOL isNumberFound = NO;
for (int i; i < sizeof(theArray)/sizeof(int); i++) {
if (theArray[i] == numberIWant) {
isNumberFound = YES;
break; //breaks the for loop
}
}
//return the bool, or otherwise check the bool
if (isNumberFound)
{
//do stuff
}