macOS NSTableView 获取点击的 Row

· NSTableView · 714字

方式 1

通知

func xxx() {
    // 注册通知. NSTableView.selectionDidChangeNotification
    NotificationCenter.default.addObserver(self, selector: #selector(menuClick(notifi:)), name: NSTableView.selectionDidChangeNotification, object: nil)
}
@objc func menuClick(notifi: NotificationCenter) -> Void {
    // 获取点击的 row 的 index
    let index = tbView.selectedRow
    // do something...
}

有个麻烦的点是用完要记得释放, 不然其他地方又注册了会弄混.

方式 2

实现NSTableViewDelegate

func tableView(_ tableView: NSTableView, shouldSelectRow row: Int) -> Bool {
    // 拿到点击的 row 的 index
    let index = tbView.clickedRow
    // do something...

    // 这里需要返回一个 true
    return true
}

就酱

最后一次编辑于 2017 12 19 15:26:52
如果你有任何疑问,这个邮箱可以联系到我:aS4xMjE0QHlhaG9vLmNvbQ==