我有一个简单的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
}
}
答案 0 :(得分:1)
需要在大纲视图上设置outlineTableColumn。