【发布时间】:2014-01-15 19:22:49
【问题描述】:
到目前为止,我正在使用tableViewSelectionDidChange 通知来检测用户何时单击NSTableView 中的任何行。但是使用这个通知委托我需要取消选择选定的行[tableView deselectRow:[tableView selectedRow]],因为它不会通知,直到另一行被选中。
这种方法的问题是,一旦我取消选择一行tableViewSelectionDidChange 将再次收到通知,现在我需要检查selectedRow 是否为-1(因为取消选择后没有选择行,它现在将返回 - 1)
NSTableView 中的 tableView:didSelectRowAtIndexPath 是否与 UITableView 中的等价物?如果没有,有没有更好的方法在选择同一行时获得通知?
【问题讨论】:
-
我认为您的方法没有问题,如果 3 行额外的代码可以满足您的需求,请继续使用它。
-
我不明白“我需要取消选择选定的行”。这应该是自动的,不是吗?
-
@trojanfoe 只有当你选择另一行时它是自动的,如果我再次选择同一行它不会发布通知。这对于基于单元格的表格通常是可以接受的,但在我的情况下,即使单击同一行,我也需要多次触发通知。为此,我需要取消选择行以获取多个通知。
标签: macos nstableview