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

标签 swift nstableview

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

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

最佳答案

调用viewAtColumn(_:row:makeIfNecessary:),传递相应列的列索引、所选行的索引和 true。您需要将其转换为单元 View 类。

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

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

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

关于swift - 更改 NSTableView 中选定单元格中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32684193/

相关文章:

xcode - 使用 swift 在 xcode 6 中自定义 NSValueTransformer

c# - MonoMac 事件 - 更改 NSTable 行的颜色

objective-c - 如何在填充与其关联的 NSMutableArray(绑定(bind))时刷新 NSTableVIew

objective-c - 快速加载数据到 NSTableView

NSTableView 摆脱空格分隔列

objective-c - 使用绑定(bind)来实现 NSTableView 拖放重新排列?

ios - 参数类型 'String' 不符合预期类型 'Sequence'

swift - 如何访问 CryptoKit 中 SymmetricKey 的底层 key ?

iOS8 核心数据 "use of unimplemented initializer"

ios - 无法为 iphone 4s、5、5s、6、6s 设置纵向和横向模式的启动图像