Swift-为什么NSOutlineView中的参数项始终为零?

Swift-为什么NSOutlineView中的参数项始终为零?,swift,macos,cocoa,delegates,nsobject,Swift,Macos,Cocoa,Delegates,Nsobject,我试图实现一个简单的sourceView,但是,我只设法设置一个textField的stringValue 首先,这是我的课程结构: class MainWindowController: NSWindowController, NSOutlineViewDataSource, NSOutlineViewDelegate { @IBOutlet weak var sourceView: NSOutlineView! override func windowDidLoad()

我试图实现一个简单的sourceView,但是,我只设法设置一个textField的stringValue

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

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 
{...}
最后,:

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

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

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

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

    // return your object value
}

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

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

    // return your object value
}

这类似于可视柱吗?不,一点都不一样。viewForTableColumn返回视图-objectValueForTableColumn返回视图的表示对象。您是如何为sourceView提供数据的?这与ViewforTableColu类似吗?不,完全不同。viewForTableColumn返回视图-objectValueForTableColumn返回视图的表示对象。您如何为sourceView提供数据?