我在一个简单的OS X项目中实现了一个NSOutlineView。我正在使用项目生成的NSViewController对象来托管NSOutlineView并设置_outlineView.dataSource = self; self是NSViewController。我已经实现了所需的NSOutlineViewDataSource方法,所有这些方法都按预期调用,但不是显示我的简单数据,而是观察以下内容(任何提示都将受到赞赏):
这是我的NSViewController实现:
#import "ViewController.h"
@implementation ViewController- (void)viewDidLoad
{
[super viewDidLoad];
dataSource = @[@"One", @"Two", @"Three", @"Three", @"Four"];
outlineView.dataSource = self;
}
- (void)setRepresentedObject:(id)representedObject
{
[super setRepresentedObject:representedObject];
}
- (id)outlineView:(NSOutlineView *)outlineView child:(NSInteger)index ofItem:(id)item
{
return [dataSource objectAtIndex:index];
}
- (BOOL)outlineView:(NSOutlineView *)outlineView isItemExpandable:(id)item
{
return NO;
}
- (NSInteger)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(id)item
{
return [dataSource count];
}
- (id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn: (NSTableColumn *)tableColumn byItem:(id)item
{
return item;
}
@end