想象一下,如果您将创建一个包含两个实体(员工和部门)的 Core Data 应用程序。员工与部门(部门)是一对一的关系,反之则是一对多的关系(员工)。在 UI 中,您可以选择单个 Employee 实体并在详细信息区域中编辑详细信息(当然还有其他属性,还有用于添加和编辑部门实体的 UI)。使用弹出按钮时,绑定是:
内容=PopUpArrayController.arrangedObjects
内容值= PopUpArrayController.arrangedObjects.name
(名称是NSString)
选定对象=EmployeeArrayController.selection.department.name
这允许在弹出菜单中查看所有部门,正确选择当前员工的部门,并允许按预期更改该部门。目标是为 NSComboBox 更改此设置,以便用户可以通过 Tab 键切换到该框并键入部门名称,而无需切换到鼠标。我尝试了许多不同的绑定来实现这一点。我什至用这些绑定让它运行一次:
内容=PopUpArrayController.arrangedObjects.name
价值=EmployeeArrayController.selection.department.name
至少有一次按预期工作(当输入的文本与任何现有部门都不匹配时,它甚至添加了一个新部门)。但是,现在它将显示可用的部门并自动完成,但当组合框中的值发生更改时,它不会使用正确的值更新模型。如果部门通过弹出窗口设置或更改,则正确的部门将显示在组合框中。
有谁知道我错过了什么?谢谢。