0
私はXcodeでNSOutlineView(Sourcelist)を作成しました。これはコンセントを与えられ、クラスは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であなたのバインディングを確認しましたか? –