【问题标题】:Selecting a row in a NSTableView (Swift)在 NSTableView (Swift) 中选择一行
【发布时间】:2018-11-06 20:30:58
【问题描述】:

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

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

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

【问题讨论】:

    标签: swift macos nstableview


    【解决方案1】:

    有两种选择:

    1. 实现tableViewSelectionDidChange(_:)NSTableViewDelegate 并检查selectedRowselectedRowIndexes
    2. 使用 Cocoa 绑定:将表视图的 selectionIndexes 绑定到 dynamic 类型为 IndexSet 的变量并使用 didSet 观察者。

    【讨论】:

    • 3.观察NSTableViewSelectionDidChangeNotification。并检查selectedRowselectedRowIndexes
    • @Willeke 从技术上讲,这与 1 相同。您必须添加观察者。
    • 观察者不必是代表。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多