1

我有一个 NSMutableArray,它在编辑 TableView 时经常被编辑。我想要做的是运行检查,看看 TableView 中的行是否与 NSMutableArray 中的任何数字匹配,如果匹配,则执行操作。因此,在 TableView 代码中,我有:

if([thearray containsObject:indexPath.row] {
   //perform action here
}

但是我不断收到错误消息:

Incompatible integer to pointer conversion sending 'NSInteger' (aka 'int') to parameter of type 'id'; 

我做错了什么,我该怎么做?

4

2 回答 2

6

使用此代码...

if([thearray containsObject:[NSNumber numberWithInt:indexPath.row]]) {
   //perform action here
}
于 2012-12-18T21:53:36.290 回答
0

我认为您可以在这里做的最好的事情是检查数组的当前计数是否大于 indexPath.row (因为理论上索引中不会有间隙)。您当前调用的方法接受一个对象并告诉您它是否是数组的成员。还有objectAtIndex:, 但如果您传递的整数超出范围,则会引发异常。

if(thearray.count > indexPath.row) {
  // array has at least indexPath.row + 1 items, so you can get objectAtIndex:indexPath.row
}
于 2012-12-18T21:54:34.670 回答