我正在开发一个使用Core数据的Mac应用程序。我正在使用NSOutlineView和NSTreeController绑定视图上的数据。用NSTreeController过滤NSOutlineView的孩子
你可以假设我的数据的结构
- 父项目1个
- 子项目1
- 子项2
- 子项目3
- 父项目2
- 子项目4
- 子项目5
我申请一个fetchPredicate我NSTreeController成功地过滤数据。另一方面,fetchPredicate仅应用于数据的第一级(父项)。
我需要一个方法,我可以将fetchPredicate也应用于子项目。例如,如果我的标准到子项1和儿童项目4相匹配的结果应该是
- 父件1
- 子项1
- 父件2
- 儿童第4项
任何帮助将不胜感激。
那么你的问题到底是什么?您在筛选儿童项目方面遇到困难的问题是什么? –
感谢您的回复。正如我在我的问题中提到的,我正在将一个filterPredicate应用于NSTreeController。例如NSPredicate(format:due_on = <%@“,endDate!)但是这个过滤器只适用于父项目而不适用于子项目,我仍然看到一些子项目不符合这个标准。我需要的仅仅是将我的过滤器应用到第二级,再次感谢 – emreoktem
你正在应用一个获取谓词,NSTreeController不支持过滤谓词,NSTreeController获取顶级对象并使用子关系获取儿童。如果你想过滤孩子,你必须做一些编程。 – Willeke