【发布时间】:2016-06-21 04:22:25
【问题描述】:
我正在尝试让两个 NSPopupButton 相互链接,但在“子”按钮上的绑定存在问题。
我有三种核心数据实体类型:Order、Client 和 Station。 Station -> Client 是多对一,所以Client 有多个Station,但Station 只能指向一个客户端。
Order 附加了一个 Station,因此我创建了如下所示的所有绑定。我可以从第一个下拉列表中正确选择任何客户端,但是站点下拉列表仅显示当前选择的站点。我没有看到所有可用的电台,如果我更改客户端,我也看不到可供选择的新电台列表。
订单控制器
一个 NSObjectController 绑定到视图控制器中的 order 实体属性。
客户端数组控制器
只需绑定到视图控制器的 managedObjectContext 即可获取所有客户端。
站阵列控制器
客户端 NSPopupButton
站 NSPopupButton
【问题讨论】:
-
订单和客户是什么关系?
-
订单控制器的内容是订单还是客户端?
-
对不起,订单控制器有订单。客户是一个错字。订单是针对特定站点的,并且该站点属于客户。把它想象成广播电台。您有多个站点都归母公司(客户)所有
-
订单是否有客户端属性?
-
没有。 Order 有一个 station 属性,它又具有一个 client 属性。因为一个站属于一个客户端,它也不必存储客户端。但是,当人工通过 UI 进行编辑时,他们必须首先选择一个客户端,因为站名可能不是唯一的,即使它们具有唯一的标识符。
标签: cocoa cocoa-bindings nspopupbutton