当前位置:  开发笔记 > IOS > 正文

将NSPopupButton绑定到NSDictionaryController

如何解决《将NSPopupButton绑定到NSDictionaryController》经验,为你挑选了0个好方法。

我正在尝试一些MacOS编程,并且在理解绑定如何与NSPopupButton一起工作时遇到了一些麻烦。我对绑定到NSDictionaryController感兴趣(我认为我不需要中间的NSArrayController,但是如果那是最好的方法,那么我可以接受)。

我创建了一个控制器对象,该对象的属性为“ db”,其属性为“ species”,该属性为NSMutableDictionary。“种类”字典具有用于键的ID和用于值的“种类”对象。种类对象具有描述属性。在InterfaceBuilder中,我创建了MyController,NSDictionaryController和NSPopupButton。我想用Species.descriptions填充弹出窗口。选中后,我需要访问相应的ID。

我已经设置了NSDictionaryController,将“内容字典”绑定到具有模型键路径“ db.species”的MyController。到目前为止,使用NSPopupButton,我已经将“ Content Values”绑定到了NSDictionaryController,并且控制器键“ arrangedObjects”和Model Key Path设置为“ value.description”。

这似乎可以使列表填充。我的主要问题是,进行选择的最佳方法是什么。理想情况下,我想将选择连接到NSDictionaryController,以便可以使用NSDictionaryController访问选择。原因之一是可以将其他控件连接到NSDictionaryController来查看当前选择。如果没有,我应该连接到MyController中的属性还是其他?只在寻找最佳实践。我希望通过Interface Builder机制,以便可以轻松地在另一个具有不同视图的应用程序中重用模型和控制器设计。

使用Brian的答案作为指导进行更新:

NSPopupButton:将内容绑定到NSDictionaryController-> arrangedObjects-> value.description

将内容对象绑定到NSDictionaryController-> arrangedObjects-> key

将选定的索引绑定到NSDictionaryController-> selectionIndex

绑定NSDictionaryController-> db.species

一切似乎都正常。我可以使用[[[controller selectedObjects] lastObject] value]从控制器中获取对象。我相信,它位于带有键,值对的选定对象的数组中。

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有