NSOutlineView不允许扩展

时间:2016-01-06 12:18:13

标签: cocoa

我有一个简单的NSOutlineView,init通过swift,有2列。我做了以下非常简单的数据源,希望以这种方式测试它,但也许我这种格式是不允许的。我假设表视图只根据需要进行查询,因此这不会导致无限循环。

结果是一个4行,2列表格布局,带有“名称”和“值”,但没有扩展按钮。

我已经实现了具有类似名称的Obj-C帖子中提到的isExpandable并添加了列。

使用可扩展元素设置NSOutlineView是否还需要做些什么,或者我应该尝试另一种更现实的dataSource测试:

import Cocoa

class OutlineDataSource : NSObject,NSOutlineViewDataSource
{
    var a = "Name"
    var b = "Value"

    var column1 : NSTableColumn
    var column2 : NSTableColumn

    init(column1:NSTableColumn,column2:NSTableColumn) {
        self.column1 = column1
        self.column2 = column2
    }

    func outlineView(outlineView: NSOutlineView, numberOfChildrenOfItem item: AnyObject?) -> Int
    {
        return 4;
    }

    func outlineView(outlineView: NSOutlineView, child index: Int, ofItem item: AnyObject?) -> AnyObject
    {
        return a
    }

    func outlineView(outlineView: NSOutlineView, isItemExpandable item: AnyObject) -> Bool
    {
        return true;
    }

    func outlineView(outlineView: NSOutlineView, objectValueForTableColumn tableColumn: NSTableColumn?, byItem item: AnyObject?) -> AnyObject?
    {
        if (tableColumn == column1)
        {
            return a
        }
        return b
    }
}

1 个答案:

答案 0 :(得分:1)

需要在大纲视图上设置outlineTableColumn。