使用三个相关的 NSPopUpButton 在 CoreData 中设置值

Posted

技术标签:

【中文标题】使用三个相关的 NSPopUpButton 在 CoreData 中设置值【英文标题】:Set value in CoreData with three related NSPopUpButton 【发布时间】:2012-05-08 19:47:03 【问题描述】:

我希望用恰当的措辞表达自己。

我有三个实体:customercountrystatecountrystate 之间存在两种关系。所以我可以创建多个国家并选择其中一个,我可以创建多个属于它的

为了创建实体“客户”的界面,我放了三个NSPopUpButton's

第一个选择国家, 第二个显示与所选国家相关的。 最后一个显示与所选州相关的邮政编码。

我的问题是我无法通过 selectedNSPopUpButton 实体“客户”传递数据。 NSPopoUpButton 通过绑定来工作:

内容(绑定到:国家,排列对象), 内容值(绑定到:国家、排列对象、模型键:国家), 选定的索引(绑定到:国家,selectionIndex)。

如何确保三个NSPopUpButton's选择的数据记录在实体“客户”的相应字段中?

【问题讨论】:

您能在视图控制器级别发布更多代码吗?要将更改保留回您的实体,您需要在某个时候将 save 发送到 NSManagedObjectContext,但我怀疑您正在这样做。 您需要返回托管对象,还是只返回具有您需要的数据的另一个类中的数据? 【参考方案1】:

似乎在这里使用 3 个弹出窗口可能会解决您的问题,因为您可以返回每个选定项目的 int,然后将该信息传递给下一个按钮按下。

因此,当他们按“国家/地区”时,返回国家/地区 ID,并将其放入您的客户实体中。

然后,当他们按下 state 时,将国家传递给此弹出窗口,并显示州,然后将州 id 传回,并对城市执行相同的操作。

这样你就没有很多托管对象了,因为你真的不需要数据,你只需要 id,也许还有名字,来显示给用户,这些可以传回通知您的控制器。

【讨论】:

以上是关于使用三个相关的 NSPopUpButton 在 CoreData 中设置值的主要内容,如果未能解决你的问题,请参考以下文章

Cocoa NSPopupButton 问题

如何以编程方式控制 NSPopUpButton 上的 TAB 按键事件

使用 NSManagedObject 子类将 NSPopupButton 绑定到 NSArrayContraller

NSPopUpButton 在 Swift Playground 中灰显

基于视图的 NSTableView 中的 NSPopupButton

从出现在 NSPopUpButton 列表中的核心数据实体中过滤条目