我正在开发一个使用核心数据的Mac应用程序。我使用NSOutlineView和NSTreeController来绑定视图上的数据。
您可以假设我的数据结构为
我正在将一个fetchPredicate应用到我的NSTreeController中,以成功地过滤数据。另一方面,fetchPredicate只应用于数据的第一级(对父项)。
我需要一个可以将fetchPredicate应用于子项的方法。例如,如果我的标准与子项1和子项4相匹配,则结果应该是
任何帮助都将不胜感激。
发布于 2016-06-07 21:58:41
你在应用一个提取谓词。NSTreeController不支持过滤器谓词。NSTreeController使用fetch谓词获取顶级对象,并使用子关系获取子对象。不取子级,也不使用提取谓词来获取子级。
解决方案1:实现计算的属性filteredChildren,类似于这个问题:Filtering A Tree Controller,并在这个不相关的答案中提到:Is it possible to bind an NSTreeController to an NSOutlineViewDataSource?
解决方案2:使用数据源而不是绑定,在上面的答案中也提到了这一点。
https://stackoverflow.com/questions/37675719
复制相似问题