Swift - 为什么NSOutlineView中的参数项总是为零?

时间:2015-11-24 15:01:08

标签: swift macos cocoa delegates nsobject

我正在尝试实现一个简单的sourceView,但是,我只是设法设置一个textField的stringValue。

首先,这是我的程序的结构:

instance.discard()

然后,我有:

class MainWindowController: NSWindowController, NSOutlineViewDataSource, NSOutlineViewDelegate
{
    @IBOutlet weak var sourceView: NSOutlineView!
    override func windowDidLoad()
    {
        sourceView.setDataSource(self)
        sourceView.setDelegate(self)
    }
}

最后,:

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

我的问题是,在这两个函数中,item的值为nil。这是应该发生的吗?

1 个答案:

答案 0 :(得分:0)

您似乎没有提供对象值。除非您使用NSTreeController填充NSOutlineView,否则还必须实现数据源功能:

func outlineView(outlineView: NSOutlineView, objectValueForTableColumn tableColumn: NSTableColumn?, byItem item: AnyObject?) -> AnyObject? {

    // return your object value
}