1

TableView が編集されるたびに頻繁に編集される NSMutableArray があります。私がやりたいことは、チェックを実行して、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 に答える