在 NSTableView 中选择一行 (Swift)

Selecting a row in a NSTableView (Swift)

我希望我的 Mac 应用程序在 table 视图中的一行被选中时执行某些操作。在 iOS 中,当点击 table 视图单元格时,我可以使用 didSelectRowAt 做一些事情:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    //Some code
}

在iOS中,当点击table视图单元格时,didSelectRowAt将被执行。你如何在 macOS 中使用 NSTableView 做这样的事情?

有两种选择:

  1. 实施tableViewSelectionDidChange(_:) of NSTableViewDelegate and check selectedRow or selectedRowIndexes
  2. 使用 Cocoa 绑定:将 table 视图的 selectionIndexes 绑定到 IndexSet 类型的 dynamic var 并使用 didSet观察员.