NSTreeController在官方文档里没有太好的说明,绑定。

这里简单介绍一下NSTreeController使用方法。

在介绍这个NSTreeController先了解一下NSArrayController比较好。这个可以自行google之,google一下你知道的太多了。

NSArrayController一般在NSTableView中使用

Controller是Cocoa绑定的一个组件,它不需要子类化即可使用

通常将controller跟tableView或是outlineView的一个column的value绑定。

controller只是提供一系统自动删减等操作,而数据源的提供来自于controller的content属性。那么这个content的数据结构和所要组织的UI的数据结构应该是一致的。

想要实现NSTreeController的绑定要先确定好其Node定义。

一个Node需要有

1.children 这是个NSMutableArray可变数据,或者自行实现mutable...接口

2.isLeaf 这个是个布尔类型的变量表示这个是不是叶子结点

实现这个两个属性且存取方式符合KVC的规范即可

然后在xib里创建一个NSTreeController的实例

将它bind给一个NSTableColumn的value.

下一步可以在delegate里设置一个成员可以是Node类型的这个你可以手动代码赋值给controller的content.也可以直接绑定

controller的属性面版里 class对应Node child 对应 children count不要填,leaf ->isLeaf绑定好就ok了。下边的自定义属性也可以加上。

然后给按钮直接绑定上controller的操作就行了。

这些是基本中的基本,缺一不可。

至于扩展的话就靠大家自己了。