NSOutlineView源列表的数据 [英] Data for NSOutlineView Source List

查看:89
本文介绍了NSOutlineView源列表的数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个Source类的Delegate类。但是我不知道outlineView:objectValueForTableColumn:byItem:的返回变量应该是什么类型。

i've got a Delegate class for a Source List. But i don't know what type the return variable of outlineView:objectValueForTableColumn:byItem: should be.

目前,我的代码看起来像这样,所有结构工作但是没有显示文本:

At the Moment my code looks like this, all the structure things work but there is no text shown:

@interface DataSource : NSObject<NSOutlineViewDelegate,NSOutlineViewDataSource>

@end

.m

@implementation DataSource
// Data Source methods

- (NSInteger)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(id)item {

    return (item == nil) ? 1 : [item numberOfChildren];
}


- (BOOL)outlineView:(NSOutlineView *)outlineView isItemExpandable:(id)item {
    return (item == nil) ? YES : ([item numberOfChildren] != -1);
}


- (id)outlineView:(NSOutlineView *)outlineView child:(NSInteger)index ofItem:(id)item {

    return (item == nil) ? [FileSystemItem rootItem] : [(FileSystemItem *)item childAtIndex:index];
}

//-(id)outlineView:(NSOutlineView *)outlineView child:(NSInteger)index ofItem:(id)item
-(id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)tableColumn byItem:(id)item {
    return @"Some String";
}


@end

我有制作了一个示例应用程序来显示差异。 图片在这里

I have made a example app to show the difference. Image is here

推荐答案

我想您有基于视图的NSTableView。在您的委托中,您应该实现方法-(id)outlineView:(NSOutlineView *)ov viewForTableColumn:(NSTableColumn *)tableColumn 。可能看起来像这样:

I suppose you have view-based NSTableView. In you delegate you should implement method - (id)outlineView:(NSOutlineView *)ov viewForTableColumn:(NSTableColumn *)tableColumn. It may looks like this:

- (id)outlineView:(NSOutlineView *)ov viewForTableColumn:(NSTableColumn *)tableColumn item:(id)item{
    if ([[item representedObject] parent] == nil) {
        return [ov makeViewWithIdentifier:@"HeaderCell" owner:self];
    }else{
        return [ov makeViewWithIdentifier:@"DataCell" owner:self];
    }
}

HeaderCell DataCell 是表单元格视图的默认标识符。

HeaderCell and DataCell are default identifiers of the Table Cell Views.

这篇关于NSOutlineView源列表的数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆