将基于NSTableView的视图绑定到NSArrayController

时间:2013-07-14 10:03:50

标签: binding nsarraycontroller nstablecellview

我想以编程方式将我的NSTableView绑定到NSArrayController。

使用基于单元格的表格,一切正常:

[[table tableColumns][0] bind:NSValueBinding toObject:board.dataSource withKeyPath:@"arrangedObjects.name" options:nil];

但是当我尝试绑定到基于视图的表...时,它应该如何工作? 我想将“arrangeObjects”绑定到列,然后将arrangeObjects的第n个元素的每个属性绑定到我的NSTableCellView的对象......但是我如何以编程方式进行编写?

我试图访问NSTableColumn的视图类,但我找到的唯一方法是.dataCell,它返回的是NSTextFieldCell而不是我将用于我的表的类(NSTableCellView)。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

对于基于视图的TableView,您需要将NSArrayController的ArrangeObjects绑定到tableView内容。

忽略该列,这与基于单元格的TableViews非常不同。

将Table Cell View绑定到NSArrayController选项,然后使用observationInfo的模型键。

最后使用模型键objectValue.name将视图(例如Text View)绑定到NSCell视图,其中name是表中表示的实体的某些属性。

如果您正在使用核心数据,则将NSArrayController参数设置为managedObjectContext,将其设置为type entity并提供实体名称并勾选prepares content复选框。