核心数据。过滤nstableview

时间:2014-02-11 20:05:12

标签: core-data binding nsarraycontroller

我对可可编程很新。 在一个简单的主 - 详细视图中,我想展示:


+-------+ +-----------+ +           +
|       | |           |
| tags  | |   books   |     detail
|       | | (selected |   (selected
|       | |   tag)    |     book)
|       | |           |
+-------+ +-----------+  +          +

我定义了两个实体:
标记,属性名称和关系图书
预订,包含多个属性(标题作者类型日期 ,. 。)和多对多关系标签(一本书可以有几个标签,一个标签可以有很多书)。

然后我定义了两个数组控制器(tagsArrayController和booksArrayController)。 它们填充表格和详细视图。

价值约束是:
标签tableview列: tagsArrayController arrangeObjects
书籍tableview专栏: tagsArrayController selection.details
详细信息视图 booksArrayController selection.details

一切正常。

我想使用第一个表(标签)作为books表的过滤器:当在tags表中选择一行时,相关的书籍将显示在books表中。

但是,如果未选择任何标记,则应该禁用过滤器,并且应该使用所有记录填充books表。相反,现在没有选择任何标签时,books表显示没有记录。

有没有办法实现这个目标?

提前致谢。

好吧,最后我找到了解决方案。 我添加了方法:


-(void)tableViewSelectionDidChange:(NSNotification *)notification

然后在 tagsArrayController 上使用de setFilterPredicate 方法。

1 个答案:

答案 0 :(得分:0)

好吧,最后我找到了解决方案。我添加了方法:

-(void)tableViewSelectionDidChange:(NSNotification *)notification

然后在 tagsArrayController 上使用de setFilterPredicate 方法。