我正在尝试创建一个分段NSTableView
using NSArrayController
和可可绑定。我正在寻找类似的方法,例如NSFetchedResultsController
在 iOS 中,您可以在其中设置部分键路径。我想做一些类似的东西NSArrayController
.
我给你举个例子:
我有不同的任务。每个任务都有三个不同优先级之一:低、中或高。任务还具有标题、描述、日期等属性。我想按优先级对任务进行分段或分组(此处的部分键路径是优先级)。
我可以用绑定来解决这个问题吗NSArrayController
?我需要多个NSArrayController
或者只有一个?
Though NSTableView
可以呈现组行,不幸的是,它取决于委托或数据源来展平层次结构。它不理解替代数据源语义,例如UITableView
's UITableViewStyleGrouped
,也不NSArrayController
具有相当于NSFetchedResultsController
的部分方法。
一种选择是NSOutlineView
它是为显示任意深度的分层数据而设计的,但它可能会产生比简单两层结构所需的更多工作。 (您可以将大纲视图绑定到NSTreeController
但树控制器的文档记录很少,而且它的设计也很糟糕。)
所以,我的建议是:
- 编写自己的控制器类来实现
NSTableViewDelegate
and NSTableViewDataSource
.
- 使用按优先级排序的单个数组控制器,并编写自己的代码来偏移行索引以容纳节标题。
- Return
YES
from tableView:isGroupRow:
在章节标题上。
- 不要为此使用绑定。
您还可以从第三方寻找可重复使用、具有绑定功能的控制器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)