Пользовательский NSTableHeaderCell аварийно завершает работу при изменении размера таблицы.
Мое приложение аварийно завершает работу, когда я создаю пользовательскую настройку для своегоNSTableView
это ничего не делает, кроме сохранения одного опционального типа . Табличное представление в первый раз рисуется нормально, но приложение аварийно завершает работу при изменении размера табличного представления.
Я свел проблему к наличию опции.
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
попадает в мусор. Поигравшись с этим, приложение также вылетает, даже не рисуя табличное представление, если я пытаюсь сохранить пользовательскийNSColor
объект вместоNSFont
.
Есть идеи?