1

我有一个自定义NSCell(实际上是子类化NSTextFieldCell),它既用于独立编辑器,也用于NSTableColumn(通过 绑定到核心数据NSArrayController)。当用户更改值时,我调用-[NSCell setObjectValue:]以更新值(它是NSNumber)。这在独立编辑器中有效,因为完成后我手动更新其上的绑定。

[self setObjectValue:[NSNumber numberWithInt:newValue]];

当单元格位于时,该步骤(更新绑定字段)丢失NSTableView- 更新的值在用户编辑(使用鼠标跟踪)时显示,但一旦结束,该值立即恢复为持久值。

绑定到的NSTableColumn-[NSArrayController arrangedObjects]。我是否缺少某种对“commitEditing”或“updateBinding”的调用?NSCell我在或的文档中找不到任何有用的功能NSTableView

4

1 回答 1

1

为了解决这个问题,我-tableView:setObjectValue:forTableColumn:row:在我的NSArrayController子类中实现了。我NSManagedObject从 Row 参数获取子类的实例,然后从 ObjectValue 参数手动分配新模型。我仍然不知道为什么这是必要的,当文本单元格自动执行此操作时,但它有效。

于 2011-03-17T20:24:14.277 回答