Странное описание при отладке источника данных NSTableView

Контекст

У меня ошибка с datasource из моего NSTableView,

Ошибка

* Ошибка подтверждения в -[NSTableView _uncachedRectHeightOfRow:], /SourceCache/AppKit/AppKit-1265.19/TableView.subproj/NSTableView.m:1784

на линии self.tableView scrollRowToVisible:0] ;,

Странное описание

Когда я пытаюсь отладить эту ошибку и введите отладчик

po [self tableView:self.tableView viewForTableColumn:[self.tableView tableColumns][0] row:0]

я получил

<NSTableRowView: 0x6000001b7300> - row: -1,

Мой вопрос:

  • Что это row: -1 ? (Я не вижу ни одного row недвижимость в NSTableRowView)

  • Какие подсказки может дать эта информация при первой ошибке?

1 ответ

Решение

Если вы используете NSTableViewDelegate, затем tableView:heightOfRow не может вернуть ноль.

Это был бы аккуратный способ заставить строки исчезать, но увы. Я упоминаю об этом, потому что ошибка утверждения в -[NSTableView _uncachedRectHeightOfRow:],

У вас также могут возникнуть проблемы с нулевой высотой строки в переработанных ячейках.

Другие вопросы по тегам