如何在基于视图的NSTableView中从CoreData填充NSPopupButton

时间:2012-05-26 17:47:00

标签: binding nstableview nspopupbutton

我正在使用基于视图的NSTableViews,它使用带有核心数据的绑定和数组控制器进行填充。一切都很好 - 带有文字和按钮的单元格以及带有图像和文本的单元格 - 我也可以编辑文本等等。

我无法弄清楚并且到处搜索的是如何填充弹出菜单。有2个阵列控制器,一个用于表格视图,另一个用于弹出按钮菜单项。

我尝试用经典方式绑定弹出菜单:通过绑定内容(arrangeObjects到实体Place),内容值(arrangeObjects Place.name)和选定对象(Table Cell View objectValue.places.name。

在基于视图的表格视图中,所有控件是否应该像普通控件一样工作?菜单未填充。但是,如果tableView的实体已经设置了值/关系,则表示值正确显示。

任何帮助都是超级的。谢谢, 丹

2 个答案:

答案 0 :(得分:5)

我认为这里有一个错误,我遇到了完全相同的问题。这是我的解决方法:

我没有将弹出按钮直接绑定到IB中的Array Controller,而是将我的nib文件所有者中的一个插座(名为arrayController)放到NSArrayController并绑定弹出按钮,如下所示: / p>

settings

答案 1 :(得分:1)

检查一下:

https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CocoaBindings/Tasks/onerelation.html

http://www.tbef.se/blog/2006/08/31/core-data-bindings-nstableview-and-nspopupbuttoncell/

检查是否只设置了3个参数!

内容
绑定到:LanguagesArrayController
控制器键:arrangeObjects
型号关键路径:

内容值
绑定:LangsArrayController
控制器键:arrangeObjects
型号关键路径:名称

所选对象
绑定到:CoursesArrayController
控制器键:arrangeObjects
模型关键路径:语言