Как установить имя столбца 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 нет замены.