Swift NSOutlineView & TreeController 绑定和单元格填充不适用于带有三角形的第一列,但适用于所有其他列 节点视图控制器树控制器绑定大纲视图绑定NSTableColumn 检查器表格视图单元格检查器

问题描述

我有一个通过 Cocoa 绑定链接的简单 OutlineView 和 TreeController,由于某种原因,第一列的单元格没有填充数据,但仍显示它们的三角形。任何其他列似乎都有效。我已经查看绑定检查器几个小时了,但无法找出错误和/或缺失的内容

Image of app missing data in first cell

节点

class Node: NSObject {
    @objc dynamic let id: String
    @objc dynamic let value: Double
    @objc dynamic var children: [Node]
    
    init(_ id: String,_ value: Double,_ children: [Node] = []) {
        
        self.id = id
        self.value = value
        self.children = children
    }
    
    @objc dynamic var isLeaf: Bool {
        return children.isEmpty
    }
    
    @objc dynamic var childCount: Int {
        return children.count
    }
}

视图控制器

import Cocoa

class ViewController: NSViewController {

    @objc dynamic var transactions = [Transaction]()
    @objc dynamic var nodes = [Node]()
    
    @IBOutlet weak var outlineView: NSOutlineView!
    @IBOutlet var treeController: nstreecontroller!
    
    override func viewDidLoad() {
        super.viewDidLoad()

        
        let nodeOne = Node("first",1.0,[Node("subOne",1.1),Node("subTwo",1.2)])
        let nodeTwo = Node("second",2.0,2.1),2.2),Node("subThree",2.3)])
        let nodeThree = Node("third",3.0,3.1,[Node("subSubOne",3.10)])])
        let nodeFour = Node("fourth",4.0,[])
        
        
        nodes.append(nodeOne)
        nodes.append(nodeTwo)
        nodes.append(nodeThree)
        nodes.append(nodeFour)
    }

    override var representedobject: Any? {
        didSet {
        // Update the view,if already loaded.
        }
    }
}

截图

树控制器绑定

Attributes Inspector

Bindings Inspector

大纲视图绑定

Bindings Inspector

NSTableColumn 检查器

Bindings Inspector

表格视图单元格检查器

Bindings Inspector

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...