具有基于视图的SourceView的MasterDetail OSX应用程序

时间:2012-08-16 19:39:22

标签: objective-c cocoa cocoa-bindings

我正在努力设置正确的绑定,以便在基于视图的模式下创建SourceView(OutlineView)以使用TreeController。它在基于单元格的模式下可以正常工作。

不幸的是我无法找到如何设置标题和标题文字,我得到的只是空的东西:≤≤

我得到了什么:

enter image description here

XCode项目,如果你想深入挖掘:

https://www.dropbox.com/s/qz3m9p5vd2qvngb/MasterDetail.zip

从另一篇文章中获取数据:

[
    {
        "itemName": "Item 1",
        "children": []
    },
    {
        "itemName": "Item 2",
        "children": [
            {
                "itemName": "Item 2.1",
                "children": []
            },
            {
                "itemName": "Item 2.2",
                "children": [
                    {
                        "itemName": "Item 2.2.1",
                        "children": []
                    },
                    {
                        "itemName": "Item 2.2.2",
                        "children": []
                    }
                ]
            }
        ]
    },
    {
        "itemName": "Item 3",
        "children": []
    }
]

1 个答案:

答案 0 :(得分:2)

您必须至少实现-outlineView:viewForTableColumn:item:,以便大纲视图知道如何显示数据。在大纲View数据源中,实现如下方法:

- (NSView *)outlineView:(NSOutlineView *)outlineView viewForTableColumn:(NSTableColumn *)tableColumn item:(id)item {

    NSView *cellView = [outlineView makeViewWithIdentifier:@"DataCell" owner:self];
    return cellView;
}

如果测试这是您的项目,现在显示单元格。查看NSOutlineViewData / NSOutlineViewDelegate协议以获取更多信息。