0

我有一个设置了两个NSTableView的窗口。在核心数据中,我设置了两个实体,其中一个包含另一个较大的分组的成员(例如carsmanufacturers)。我为每个实体设置了入口页面,并且它们在那里玩得很好(尝试从下拉菜单中的多对一进行选择时没有错误)。我现在想要做的是进一步采取这一步,以便当我在主要的NSTableView中选择manufacturer时,与manufacuturer相关的cars列表将出现在第二个NSTableView中。根据界面生成器中的另一个表中的选择制作表格显示器

我使用类似于我做了什么为manufacturer弹出式菜单按钮,进料从cars实体值绑定尝试,但它只是显示所有car项的列表,无论哪个manufacturer我选择。但是,我没有看到谓词过滤的选项,但是如果将绑定的关键路径设置为manufacturer.cars,它将显示关系错误。我如何过滤显示在子表中的内容?

回答

1

有两个NSArrayControllers。将汽车控制器的contentArray绑定到制造商控制器;控制器密钥是selection(即选定的制造商),并且型号关键路径是包含制造商汽车的属性的路径。

然后,将汽车表格视图的列绑定到汽车控制器的属性arrangedObjects

+0

我正在尝试这样做,但它所做的只是导致编辑页面无法正确显示其内容,并且主/子显示上的任何选择都会在点击后立即消失。这里有一个步骤需要重新检查吗? – Kaji 2009-12-18 12:22:28

+0

是的,请仔细检查型号的关键路径。它们应该看起来像“selection.name”或“selection.brand”。实际上,请检查所有名称:例如,实体是否真的称为制造商而不是制造商?另外,请检查数据模型中的关系:汽车是否是一对多关系,是否需要? – 2009-12-18 16:24:31

+0

'selection'应该是控制器键,而不是模型键路径的一部分。 – 2009-12-18 18:29:37

相关问题