0
私はCocoaアプリケーションでテーブルビューを使用しています。私はそれが発生したときに、以下の方法を行うには、ダブルクリックのアクションを設定している:NSTableViewソートが正しく行われないID
- (void)doubleClickInTable:(id)sender {
int rowIndex = [sender selectedRow];
if (rowIndex != -1) {
[userEditController setData:[[self users] objectAtIndex:rowIndex]];
[self showUserEditPanel];
}
}
あなたが見ることができるように、EditControllerが編集されているオブジェクトを受け取ります。このオブジェクトは、ソース配列のrowIndexにあるオブジェクトです。これはほとんどの場合非常にうまく動作しますが、一度ソートをテストすると間違ったオブジェクトが設定されます。これは、テーブル内のクリックされた行のインデックスがソートを移動する行のためにソース配列と異なるためです。
この問題を解決するにはどうすればよいですか?
NSArrayControllerをPeterの言及として使用することをお勧めします。 – sbooth