我正在尝试使用TreeController设置NSOutlineView。
我为树中的每个节点都有以下类:
@objc class EdLevel: NSObject{
@objc dynamic var isLeaf: Bool { return children.count == 0}
@objc dynamic var childCount: Int { return children.count}
@objc dynamic var children: [EdLevel] = []
@objc dynamic var name: String
@objc init(name n: String){
name = n
}
}
我目前在视图控制器中有以下属性(在IB中称为Admin)
@objc dynamic var eddingtonNumberLevels: [EdLevel] = []
当我运行这个时,我在AppDelegate上得到一个异常,但没有关于它失败的信息。如果我删除“Count”和“Leaf”键路径(我理解为可选,因为它们可以从“Children”派生),我得到同样的东西。当我删除Children键路径时它全部运行(没有当然的内容)但我得到“childrenKeyPath不能为零。要消除此日志消息,请在Interface Builder中设置childrenKeyPath属性”
我已经搜索了答案,但他们只是说设置childrenKeyPath并解释该属性应采取的形式。我曾尝试将孩子换成NSArray,但这没有帮助。
有关问题的任何建议吗?