如何在 Swift 中设置 NSTableViewCell 的 doubleAction 属性?

som*_*234 5 cocoa swift

我正在尝试NSTableView为每个单元格添加一个双击侦听器。我搜索的所有地方似乎都是使用 a 完成的,@selector并且所有源代码都在Objective-C. 我试图将该代码转换Swift为将该doubleAction方法分配给我,NSTableView但是它不起作用(因为我的方法没有被调用)。

@IBOutlet var tableView:NSTableView?

override func awakeFromNib() {
        let clSelector:Selector = "dblClk:"

        tableView?.doubleAction = clSelector
    }

    func dblClk(sender:AnyObject){
        println("ran")
    }
Run Code Online (Sandbox Code Playgroud)

我的 tableView 也有自定义单元格(以防万一)。

som*_*234 7

我忘记了这一点: tableView?.target = self

它现在完美运行!


Nic*_* K9 6

斯威夫特 4

override func viewDidLoad() {
    table.target = self
    table.doubleAction = #selector(tableViewDoubleAction)
}

@objc func tableViewDoubleAction(sender: AnyObject) {
    print("row double clicked")
}
Run Code Online (Sandbox Code Playgroud)