【发布时间】:2016-06-07 09:39:42
【问题描述】:
我正在开发一个使用核心数据的 Mac 应用程序。我正在使用 NSOutlineView 和 NSTreeController 在视图上绑定数据。
你可以假设我的数据结构为
- 父项 1
- 子项 1
- 子项 2
- 子项 3
- 父项 2
- 子项 4
- 子项 5
我将 fetchPredicate 应用到我的 NSTreeController 以成功过滤数据。另一方面,fetchPredicate 仅适用于第一级数据(适用于父项)。
我需要一个可以将 fetchPredicate 也应用于子项的方法。例如,如果我的条件与子项 1 和子项 4 匹配,则结果应为
- 父项 1
- 子项 1
- 父项 2
- 子项 4
任何帮助将不胜感激。
【问题讨论】:
-
那么您的问题到底是什么?您在过滤子项方面遇到的困难是什么?
-
感谢您的回复。正如我在问题中提到的,我将 filterPredicate 应用于 NSTreeController。例如 NSPredicate(format: due_on =
-
您正在应用提取谓词。 NSTreeController 不支持过滤谓词。 NSTreeController 获取顶层对象并使用子关系来获取子对象。如果你想过滤孩子,你必须做一些编程。
-
@Willeke 感谢您的回复。我可以进行任何编程,但在 NSTreeController 从核心数据创建子节点时找不到中断点。
-
在 SO 中搜索“NSTreeController 过滤器”。
标签: swift cocoa core-data nsoutlineview nstreecontroller