0

对于基于视图的 NSTableView/NSarrayController:如何使用来自 tableCellView 内的 NSButton 的“动作调用”来更改实体的属性?

我有以下设置:

  • 具有一列的“基于视图”的 NSTableview。
  • 一个使用“实体模式”并绑定到核心数据实体的 NSarrayController。

演示应用程序的图片

我想使用按钮中的操作调用来更新实体。例如,将“bool”属性设置为 true。

如果我只是使用“模型键路径”并将其设置为 objectValue.escaped,则该按钮被禁用。

4

2 回答 2

1

我能够通过在按钮本身(NSTableCellView 中的视图类)上设置一个操作来实现此功能,然后将 NSTableView 的委托设置为实现选择器的类。然后它会按预期工作。

于 2013-11-06T00:44:02.490 回答
0

为了澄清我的问题:

如果我的数据源有另一个客户端,例如通过网络服务连接并且我想触发一个事件。我会使用实体属性来通知客户。因此,我向 tableCellView 添加了一个按钮。

我从连接到核心数据实体作为对象控制器的 NSTableView 和 NSArrayController 开始。文本字段、图像、复选框和弹出按钮在绑定到控件后立即起作用。但我发现没有可行的解决方案来绑定“按钮”。(我试图子类化控件、表格、单元格视图和按钮但没有成功。)

最后我切换到动作/委托方法。使用方法rowForView:itemAtRow:表示对象:可以修改实体的属性。

我对这种不优雅的解决方案(outlineView/分离代码)不满意。如果 arrayControl 有解决方案,请告诉我。

于 2012-11-26T10:12:42.497 回答