在Xcode中用Bindings修改引擎盖

时间:2009-12-05 22:39:09

标签: xcode core-data interface-builder cocoa-bindings nstableview

让我们选择两个核心数据实体,设置如下:

实体A:汽车

Attributes:
    year
    model
Relationships:
    manufacturer (<<-> Manufacturer)

实体B:制造商

Attributes:
    name
    country
Relationships:
    cars (<->> Car)

现在,我想要做的是将显示器绑定到NSTableView,我们在一列中有汽车模型,然后是制造商,然后是年份。绑定模型和年份没有问题,但如果我将关系绑定到表中的列,我会得到该列中每个单元格中的关系错误文本错误,而不是我正在寻找的任何内容。 如何使用绑定来允许我显示与汽车相关的正确制造商名称?

进一步扩展问题,如何设置另一个表格视图来显示具有相同Car关系的其他manufacturer条目?

1 个答案:

答案 0 :(得分:1)

有关当前如何设置它的更多信息会有所帮助。您应该能够以与其他属性完全相同的方式绑定到Array Controller,并使用相同的绑定和控制器键。只需使用完整的密钥路径manufacturer.name作为模型密钥路径。

对于多对多关系,您使用两个阵列控制器。设置“主”阵列控制器,以便从核心数据Manufacturer类(Entity模式)中准备自己的内容。然后,您创建一个辅助的“细节”数组控制器。将详细数组控制器保留为Class模式(使用默认的NSMutableDictionary类),并将其内容集绑定到主数组控制器,控制器密钥设置为selection和模型密钥cars的路径。

许多教程都存在这样做。我强烈建议你跑一两个;我发现this MacResearch.org tutorial特别有帮助。整个系列都很棒。