私は本当に不可解なバグに遭遇しました。私のUITableViewの最初の行は1を返し、2番目の行はindexPathで0を返します!どうしてそれも可能ですか?
私の`-(void)viewDidLoad`では、すべてがまだ問題ありません。私は最初の行をうまく強調しています
currentRow = 0;
[tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:currentRow inSection:0]
animated:NO scrollPosition:UITableViewScrollPositionNone];
どの行が選択されているかを追跡するための変数がありますcurrentRow
(現在選択されている行に応じて別のコントロールが変更されます)。
これで、`didDeselectRowAtIndexPath`デリゲート関数に次のようになりました。
-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
...
NSLog(@"IndexPath: %@", [indexPath description]);
}
ログには次の情報が表示されます。
IndexPath: <NSIndexPath 0x79509d0> 2 indexes [0, 0]
2列目
に触れたときと1IndexPath: <NSIndexPath 0x79509d0> 2 indexes [0, 1]
列目に触れたとき。
行の挿入、削除、並べ替えなどはなく、スクロールもありません。これは、1つのセクションと3つの行を持つ、グループ化されたスタイルの単純なUITableViewです。これを引き起こしている可能性がありますか?
助けてくれてありがとう、
S