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

时间:2015-03-20 04:52:36

标签: cocoa swift

我正在尝试为每个单元格的NSTableView添加双击侦听器。我搜索到的任何地方似乎都是使用@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")
    }

我的tableView也有自定义单元格(如果重要的话)。

2 个答案:

答案 0 :(得分:4)

我忘了这个: tableView?.target = self

现在效果很好!

答案 1 :(得分:3)

Swift 4

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

@objc func tableViewDoubleAction(sender: AnyObject) {
    print("row double clicked")
}