当我为我的
NSTableHeaderCell
创建一个自定义的 NSTableView
时,我的应用程序崩溃了,它除了存储一个单一的可选类型 NSFont
之外什么都不做。表格视图第一次绘制良好,但在调整表格视图大小时应用程序崩溃。
我已将问题减少到
NSFont
可选的存在。
class MyTableHeaderCell: NSTableHeaderCell {
var myFont: NSFont?
}
我为表中的每一列创建一个
MyTableHeaderCell
,例如,
for (index, tc) in tableView.tableColumns.enumerated() {
let v = MyTableHeaderCell(textCell: "Title")
v.myFont = NSFont.systemFont(ofSize: 14)
tc.headerCell = v
}
这可能与表视图创建和销毁单元格有关,但我不知所措。 如果我只是使用
font
的 NSTableHeaderCell
字段,字体会在调整表视图大小后变回默认值,因此是 myFont
字段。
调整表视图大小时,值
myFont
似乎被丢弃了。玩弄这个,如果我尝试存储自定义 NSColor
对象而不是 NSFont
.,应用程序也会崩溃,甚至没有绘制表格视图
有什么想法吗?