Документация - твой друг, но я понимаю, что иногда она настолько велика.
КСТАТИ
Вам необходимо установить ImageAndTextCell для своего контурного вида, вы можете сделать это в своем методе инициализации контроллера окна или в методе awakeFromNib, или непосредственно (при необходимости) в своем подклассе NSOutlineView.
В моем проекте есть подкласс NSOutlineView, как показано ниже
// myOutlineView subclass
- (void)awakeFromNib {
self.imageCell = [[ImageAndTextCell alloc] init];
[self.imageCell setEditable: NO];
NSTableColumn* leftColumn = [[self tableColumns] objectAtIndex:0];
[leftColumn setDataCell: self.imageCell];
}
Затем вам нужно реализовать метод делегата willDisplayCell, в котором вы устанавливаете изображение для своего конкретного столбца, как показано ниже (значок папки, значок файла txt, значок jpg).
В коде, показанном ниже, я получаю его из моего одноэлементного VDIconUtils, но вы можете просто вернуть NSImage
- (void)outlineView:(NSOutlineView *)outlineView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn item:(id)item {
[cell setDrawsBackground:NO];
if ([[tableColumn identifier] isEqualToString:@"mycellname"]) {
[cell setImage:[[VDIconUtils sharedIconUtils] iconForFolderStatus:fs :16 :[outlineView isItemExpanded:item]]];
}
}