【问题标题】:Bind view based NSTableView to an NSArrayController将基于视图的 NSTableView 绑定到 NSArrayController
【发布时间】:2013-07-14 10:03:50
【问题描述】:

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

使用 Cell-Based Table 一切正常:

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

但是当我尝试绑定到基于视图的表时……它应该如何工作? 我想将“arrangedObjects”绑定到列,然后将我的arrangedObjects第n个元素的每个属性绑定到我的NSTableCellView的一个对象......但是我怎样才能以编程方式实现它?

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

有什么想法吗?

【问题讨论】:

    标签: binding nsarraycontroller nstablecellview


    【解决方案1】:

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

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

    将表格单元视图绑定到 NSArrayController 选择,然后使用模型键的观察信息。

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

    如果您使用核心数据,则将 NSArrayController 参数设置为 managedObjectContext,将其设置为实体类型并提供实体名称并勾选准备内容复选框。

    【讨论】:

    • 我无法在 Xcode 5 中看到这个 Bind the Table Cell View to the NSArrayController selection and then use a model key of observationInfo. 能否请您用一些屏幕截图更新答案。
    猜你喜欢
    • 2013-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多