非常基本的编程问题,我知道PHP有它的功能,但iPhone OS有吗?
我想检查当前的indexPath是否是数组中的值。
PHP示例:
<?php
$indexPath = 3;
$array = array("0", "1", "2", "3", "4");
if (in_array($indexPath, $array)) {
// Do something
}
?>
有人知道如何在iOS中做同样的事情吗?
答案 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)
您需要containsObject
或indexOfObject
:
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...
}