我正在使用核心数据和最新的 XCode。我有一个基于视图的表,NSPopupButtons
其中一个列。该表有一个数组控制器,它从实体 A 获取其数据。实体 B 有另一个数组控制器。正是这个实体 B 应该填充弹出按钮项。
一个NSPopupButton
表可以被填满没有问题,所以这一定是一个与表有关的问题!
我应该如何填写表格中列中的弹出按钮?
我正在使用核心数据和最新的 XCode。我有一个基于视图的表,NSPopupButtons
其中一个列。该表有一个数组控制器,它从实体 A 获取其数据。实体 B 有另一个数组控制器。正是这个实体 B 应该填充弹出按钮项。
一个NSPopupButton
表可以被填满没有问题,所以这一定是一个与表有关的问题!
我应该如何填写表格中列中的弹出按钮?
您可以执行以下操作:
objectValue.menuValues
(显然是你添加到你的东西objectValue
)。NSPopupButton
应该作为 的子视图放置NSTableCellView
。这样,只要您objectValue
有一个能够填充 aNSPopupButton
的菜单的绑定,您就不需要直接访问它。从这里您还可以将selector
出口设置为您的委托/视图控制器的类,并使用一些漂亮superview
的挖掘来找到NSTableCellView
它,然后从那里操作。
我知道这很复杂,但它几乎是零代码。曾几何时,我曾经看不起IB太“n00b”,但Bindings让它成为了一个相当强大的工具。
我当然找到了基于单元的 NSPopupButtonCell 工作。您应该能够使用基于视图的表来实现相同的目标。当您直接绑定到视图中的对象时,绑定完全不同。因此,将弹出窗口的内容直接绑定到数据源。在 IB 中为实体 B 创建一个 ArrayController 并将其直接绑定到 Popups Content,还将 contentValue 绑定到要显示的实体 B 的字段。
然后将弹出窗口的列内容绑定到实体 A,现在将弹出窗口的值绑定到表格单元格视图 objectValue.(实体 A 字段名称)。