如何检查* number *是否在数组中

时间:2010-04-20 17:27:17

标签: iphone arrays xcode

非常基本的编程问题,我知道PHP有它的功能,但iPhone OS有吗?

我想检查当前的indexPath是否是数组中的值。

PHP示例:

<?php
$indexPath = 3;
$array = array("0", "1", "2", "3", "4");
if (in_array($indexPath, $array)) {
  // Do something
}
?>

有人知道如何在iOS中做同样的事情吗?

2 个答案:

答案 0 :(得分:20)

  

containsObject
  返回一个布尔值,指示给定对象是否存在于接收器中。

     

- (BOOL)containsObject:(id)anObject

例如:

if ([arrayofNumbers containsObject:[NSNumber numberWithInt:516]])
    NSLog(@"WIN");

或检查indexPath:

if ([arrayofIndexPaths containsObject:indexPath])
    NSLog(@"Yup, we have it");

我应该澄清一个NSIndexPath不是一个数字,而是一系列数字“代表嵌套数组集合树中特定节点的路径”,详见the developer documentation中的详细说明。

答案 1 :(得分:9)

您需要containsObjectindexOfObject

unsigned int myIndex = [myArray indexOfObject: [NSNumber numberWithInt: 3]];
if(myIndex != NSNotFound) {
     // Do something with myIndex
}

或者:

if([myArray containsObject: [NSNumber numberWithInt: 3]]) {
    // Just need to know if it's there...
}