首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分层NSPopupButton绑定

分层NSPopupButton绑定
EN

Stack Overflow用户
提问于 2016-06-02 17:17:57
回答 1查看 154关注 0票数 0

我正在尝试有两个NSPopupButton相互链接,并且在“子”按钮上的绑定有问题。

我有三种核心数据实体类型:OrderClientStationStation -> Client是多对1的,因此Client有多个Station,但Station只能指向一个客户端。

Order有一个Station附加到它,所以我创建了所有的绑定,如下所示。我可以正确地从第一个下拉列表中选择任何客户端,但是这些站点下拉列表只显示当前选定的站点。我没有看到所有可用的站点,如果我更改了客户端,我就看不到一个新的站点列表可供选择。

顺序控制器

绑定到视图控制器中的NSObjectController实体属性的order

客户端阵列控制器

只需绑定到视图控制器的managedObjectContext以获取所有客户端。

站阵列控制器

Client NSPopupButton

站NSPopupButton

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-03 16:15:39

客户端弹出按钮的选定值用于筛选站点,它不应该更改订单站点的客户端。将客户端弹出按钮的选定索引(而不是选定的对象)绑定到Controller,Controller键selectionIndex,无模型密钥路径。

将站点弹出按钮的选定对象绑定到Order对象控制器、Controller键selection、模型密钥路径station

当用户选择客户端时,所选择的站点仍然是订单的站点。如果此站点有不同的客户端,则“站”弹出按钮不会自动选择另一个站点。您可以在“客户端”弹出按钮的操作中修复此问题。例如:

代码语言:javascript
复制
- (IBAction)clientAction:(id)sender {
    NSArray *stations = self.stationArrayController.arrangedObjects;
    if (![stations containsObject:order.station]) {
        if (stations.count > 0)
            self.order.station = stations[0];
        else
            self.order.station = nil;
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37598285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档