【发布时间】:2012-11-25 17:25:35
【问题描述】:
对于基于视图的 NSTableView/NSarrayController:如何使用来自 tableCellView 内的 NSButton 的“动作调用”来更改实体的属性?
我有以下设置:
- 具有一列的“基于视图”的 NSTableview。
- 使用“实体模式”并绑定到核心数据实体的 NSarrayController。
我想使用按钮的动作调用来更新实体。例如将“bool”属性设置为 true。
如果我只是使用“模型键路径”并将其设置为 objectValue.escaped,则该按钮将被禁用。
【问题讨论】:
-
或者我应该使用“sent action”吗?或者忘记 nsarraycontrol 并使用数据源?
-
如果我对委托使用“发送操作”(例如“petEscaped:”),我只会得到发件人 ID(按钮))。由于未选择该行(不是很奇怪)我没有机会找到和访问实体。
-
我为我的问题找到的最佳 SDK 示例是 TableViewPlayground,其中使用了 OutlineView 中的按钮。令我惊恐的是,这个例子中使用了一个带有 data-source 绑定的“自制”控件。这将导致大约 1000 行额外代码仅用于 UI 处理(从演示中聚合)和另一个用于 core-data 处理的控件类。
-
我使用带有 IBAction 的 tableView 委托来处理按钮和 rowForView: 和 itemAtRow: 来读取行数据。 (就像在 TableViewPlayground 示例中一样)
标签: cocoa core-data interface-builder nstableview nsarraycontroller