繁体   English   中英

使用NSTreeController过滤NSOutlineView的子级

[英]Filtering children of NSOutlineView with NSTreeController

我正在开发使用Core数据的Mac应用程序。 我正在使用NSOutlineView和NSTreeController绑定视图上的数据。

您可以假设我的数据结构为

  • 父项1
    • 儿童项目1
    • 子项2
    • 儿童项目3
  • 父项2
    • 儿童4
    • 儿童5

我将fetchPredicate应用于我的NSTreeController以成功过滤数据。 另一方面,fetchPredicate仅应用于数据的第一级(应用于父项)。

我需要一种可以将fetchPredicate也应用于子项的方法。 例如,如果我的标准与子项1和子项4相匹配,则结果应为

  • 父项1
    • 儿童项目1
  • 父项2
    • 儿童4

任何帮助将不胜感激。

您正在应用提取谓词。 NSTreeController不支持过滤谓词。 NSTreeController使用fetch谓词来获取顶级对象,并使用children关系来获取child。 不获取子项,并且不使用获取谓词来获取子项。

解决方案1:实现一个计算所得的属性filteredChildren ,例如以下问题: 过滤树控制器,并在以下不相关的答案中提到: 是否可以将NSTreeController绑定到NSOutlineViewDataSource?

解决方案2:使用数据源代替绑定,上面的答案中也提到了绑定。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM