Как установить имя столбца NSTableColumn в NSTableView на основе представления?

Я создал NSTableView программно и добавил один столбец (экземпляр NSTableColumn). Как мне задать имя этого столбца (по умолчанию он называется "Поле")? В NSTableColumn есть метод с подписью

- (void)setHeaderCell:(NSCell *)aCell

но "[t] его метод действителен только для табличных представлений на основе ячеек", и я использую табличное представление на основе представлений.

Сам NSTableView содержит экземпляр NSTableHeaderView, который содержит экземпляр NSTableHeaderCell. NSTableHeaderCell является подклассом NSTextFieldCell, который выглядит хорошо, поскольку у него есть метод setString. Но я не могу получить доступ к NSTableHeaderCell! Так как же тогда установить имя столбца? Я предполагаю, что это тривиально: в конце концов, возможность устанавливать имена столбцов в табличном представлении - это, пожалуй, самое важное, что можно сделать с табличным представлением, но после нескольких часов поиска я не нашел Единственная подсказка о том, как это сделать.

1 ответ

Решение

Я думаю, что вы должны просто пойти дальше и использовать -[NSTableColumn headerCell], Комментарий в ссылке на класс отсутствует в заголовочном файле NSTableColumn.h, хотя эти заголовки, связанные с табличным представлением, содержат довольно подробную документацию о табличных представлениях на основе представления. Кроме того, хотя Apple в целом устарела NSCell в 10.10 и -[NSTableColumn dataCell] устарела, -headerCell не является. Это говорит о том, что у Apple нет замены.

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