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的操作就行了。
这些是基本中的基本,缺一不可。
至于扩展的话就靠大家自己了。
转载于:https://blog.51cto.com/bhlzlx/961205