我在 Cocoa 应用程序中使用表视图。我已将双击操作设置为在发生时执行以下方法:
- (void)doubleClickInTable:(id)sender {
int rowIndex = [sender selectedRow];
if (rowIndex != -1) {
[userEditController setData:[[self users] objectAtIndex:rowIndex]];
[self showUserEditPanel];
}
}
如您所见,EditController 接收正在编辑的对象。此对象是位于源数组的 rowIndex 处的对象。这在大多数情况下都非常有效,但是一旦我开始测试排序,它就会设置错误的对象。这是因为由于排序移动行,表中单击行的索引与源数组不同。
我该如何解决这个问题?