在 NSTableView 中更改选定单元格中的数据

Change data in selected cell at NSTableView

我有 NSTableView,单元格作为自定义视图 (NSCellView)。如何获取对该单元格的引用并在选择该单元格时更改其中的数据?

来自 tableViewSelectionDidChange 我无法获取此单元格的引用(空通知),tableView willDisplayCell 无法将单元格用作视图,tableView.selectedCell() 仅为默认单元格返回数据(不是作为观点)。

调用viewAtColumn(_:row:makeIfNecessary:),传递相应列的列索引、所选行的索引和真值。您需要将其投射到您的单元格视图 class.

顺便说一下,不要为您自己的 classes (NSCellView) 使用 NS 前缀。使用特定于您的组织或项目的前缀。 NS 保留给 Cocoa。

访问指定单元格的代码示例:

func tableView(tableView: NSTableView, shouldSelectRow row: Int) -> Bool {
    let cell = tableView.viewAtColumn(0, row:row, makeIfNecessary:true)
}