如何解决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.
}
}
}
截图
树控制器绑定
大纲视图绑定
NSTableColumn 检查器
表格视图单元格检查器
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。