Objective c NSOutlineView数据源

Objective c NSOutlineView数据源,objective-c,xcode,cocoa,interface-builder,nsoutlineview,Objective C,Xcode,Cocoa,Interface Builder,Nsoutlineview,我已经在Xcode中创建了一个NSOutlineView(Sourcelist),为它提供了一个出口,并使我的类实现了NSOutlineViewDataSource。然后我[outlineview setDataSource:,我看到它使用数组中的项数创建单元格,但它们都是空的 sub1 = [NSArray arrayWithObjects:@"General Data",@"Most Played", @"Misc",@"Log", nil]; sub2 = [NSArray arrayWi

我已经在Xcode中创建了一个NSOutlineView(Sourcelist),为它提供了一个出口,并使我的类实现了NSOutlineViewDataSource。然后我
[outlineview setDataSource:
,我看到它使用数组中的项数创建单元格,但它们都是空的

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";
}

一切似乎都井然有序,一种it工作方式,除了所有的文本都是空白。它只创建所有根项目,而不创建文本。

可能您忘记为NSOutlineView构建一个表列,如下所示:

NSTableColumn *titleColumn = [[[NSTableColumn alloc] initWithIdentifier:@"identifier"] autorelease];
[[titleColumn headerCell] setStringValue:@"Header"];
[self addTableColumn:titleColumn];
[self setOutlineTableColumn:titleColumn];

是否已在Interface Builder中检查大纲视图单元格的绑定?