如何检测NSTableView行已被选中?

Wil*_*ill 6 cocoa objective-c nstableview

我有NSTableView很多行,用户可以选择.当用户选择一行时,我得到了

- (BOOL)tableView:(NSTableView *)tableView shouldSelectRow:(NSInteger)row
Run Code Online (Sandbox Code Playgroud)

NSTableViewDelegate方法调用,这太棒了.当用户单击该行时,我会突出显示该行.

然而,问题是,当用户再次"选择"该行时,我没有再次获得委托调用(不取消选择行或选择另一行).

例如,用户单击某一行并加载某些文件.如果用户要再次选择该行,我想刷新加载的文件.但是,我没有第二次用户点击该行.

一个选项是取消选择行,但我需要保持选择,以便用户知道他们选择了哪个选项.

是否有一个我错过的委托方法告诉我何时选择了一行(或点击了它)?

提前致谢!

Wil*_*ill 5

在写这个问题时,我在建议的类似问题下找到答案,所以我会写下我发现的内容:

在这个问题上,有人建议用一个IBAction来点击NSTableView.这很有效,因为IBAction即使选择了行,我总是会接到电话.然后,我能够摆脱我的- (BOOL)tableView:(NSTableView *)tableView shouldSelectRow:(NSInteger)row方法实现!

希望这有助于其他人!