设置TreeController childrenKeyPath抛出错误

时间:2018-02-01 10:11:53

标签: swift xcode nstreecontroller

我正在尝试使用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
    }
}

在我的Xcode故事板中,我完成了以下设置: Tree Controller key paths

Tree controller content array

我目前在视图控制器中有以下属性(在IB中称为Admin)

@objc dynamic var eddingtonNumberLevels: [EdLevel] = []

当我运行这个时,我在AppDelegate上得到一个异常,但没有关于它失败的信息。如果我删除“Count”和“Leaf”键路径(我理解为可选,因为它们可以从“Children”派生),我得到同样的东西。当我删除Children键路径时它全部运行(没有当然的内容)但我得到“childrenKeyPath不能为零。要消除此日志消息,请在Interface Builder中设置childrenKeyPath属性”

我已经搜索了答案,但他们只是说设置childrenKeyPath并解释该属性应采取的形式。我曾尝试将孩子换成NSArray,但这没有帮助。

有关问题的任何建议吗?

0 个答案:

没有答案