我有NSTableView,单元格作为自定义视图(NSCellView)。如何在选择该单元格时引用此单元格并更改数据?
从tableViewSelectionDidChange
我无法获得对此单元格的引用(空通知),tableView willDisplayCell
不使用单元格作为视图,tableView.selectedCell()
仅返回默认单元格的数据(不是作为意见)。
答案 0 :(得分:1)
调用viewAtColumn(_:row:makeIfNecessary:)
,传递相应列的列索引,所选行的索引和true。您需要将其强制转换为您的单元格视图类。
顺便说一下,不要为自己的类使用NS
前缀(NSCellView
)。使用特定于您的组织或项目的前缀。 NS
保留给Cocoa。
访问指定单元格的代码示例:
func tableView(tableView: NSTableView, shouldSelectRow row: Int) -> Bool {
let cell = tableView.viewAtColumn(0, row:row, makeIfNecessary:true)
}