В настоящее время я пытаюсь использовать новый NSOutlineView на основе представления в моем приложении Какао. Поскольку я не использую привязки, я реализовал все необходимые методы делегата и источника данных в своем контроллере.
В конструкторе интерфейсов я добавил NSOutlineView с подсветкой, установленной на SourceList и Content Mode, установленной на View Based . Таким образом, было предоставлено два представления ячейки таблицы по умолчанию (одна ячейка заголовка с HeaderCell , установленной в качестве идентификатора, и одна ячейка данных с DataCell , установленной в качестве идентификатора)
Вот как это выглядит в конструкторе интерфейсов: представления ячеек заголовка правильно отображают серо-синий textField , в то время как представления ячеек данных имеют представление изображения и textField с правильным цветом и настройки шрифта

Чтобы предоставить представления, я использую следующий код, чтобы вернуть представление DataCell или представление HeaderCell и соответственно установить textField ячейки на основе соответствующего идентификатора, установленного в конструкторе интерфейса.
- (NSView *)outlineView:(NSOutlineView *)outlineView
viewForTableColumn:(NSTableColumn *)tableColumn
item:(id)item {
NSTableCellView *result = nil;
if ([item isKindOfClass:[NSMutableDictionary class]]) {
result = [outlineView makeViewWithIdentifier:@"HeaderCell" owner:self];
id parentObject = [outlineView parentForItem:item] ? [outlineView parentForItem:item] : groupedRoster;
[[result textField] setStringValue:[[parentObject allKeys] objectAtIndex:0]];
} else {
result = [outlineView makeViewWithIdentifier:@"DataCell" owner:self];
[item nickname] ? [[result textField] setStringValue:[item nickname]] : [[result textField] setStringValue:[[item jid] bare]];
}
return result;
}
Запуск всего выглядит следующим образом.

Может ли кто-нибудь дать мне подсказки, почему ячейка заголовка не выделена жирным шрифтом и не имеет правильного цвета при выборе?