Я создал NSOutlineView (Sourcelist) в Xcode, учитывая его выход, и сделал мой класс реализующим NSOutlineViewDataSource. Я тогда [outlineview setDataSource:]
, и я вижу, что он создает ячейки с количеством элементов из моего массива, но все они пусты.NSOutlineView Источник данных
sub1 = [NSArray arrayWithObjects:@"General Data",@"Most Played", @"Misc",@"Log", nil];
sub2 = [NSArray arrayWithObjects:@"General Data", @"Most Played", @"Misc",@"Log", nil];
items = [NSArray arrayWithObjects:sub1,sub2,nil];
[outlin setDataSource:self];
[outlin reloadData];
- (BOOL)outlineView:(NSOutlineView *)outlineView isItemExpandable:(id)item
{
return [self outlineView:outlineView numberOfChildrenOfItem:item] != 0;
}
- (NSInteger)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(id)item
{
if (item)
if ([item isKindOfClass:[NSArray class]])
return [item count];
else
return 0;
else
return [items count];
}
- (id)outlineView:(NSOutlineView *)outlineView child:(NSInteger)index ofItem:(id)item
{
if (item) {
return [item objectAtIndex:index];
}
else
return [items objectAtIndex:index];
}
- (id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)theColumn byItem:(id)item
{
if (item) {
if ([item isKindOfClass:[NSArray class]])
return @"YES"; // Return name for this node
else
return item;
}
else
return @"List Root";
}
Все, кажется, в порядке, это своего рода работы, за исключением того, что весь текст пуст. Он создает все корневые элементы, и только без текста.
Вы проверили привязки в Interface Builder для фотоэлемента контурного вида в? –