使用CoreData自动保持从NSArrayController中删除对象

时间:2009-12-23 03:16:13

标签: cocoa core-data cocoa-bindings

我有一个NSTableView,其中一列绑定到NSArrayController,表示来自NSManagedObjectContext的实体集合。我还有一个“删除”按钮,它连接到NSArrayController's删除操作,一切正常 - 表显示数据,当我点击'删除'时,实体将从表中删除等。

然而,这种删除似乎只发生在对象图中永远不会持久化到磁盘。是否有任何标记或方法可以自动将此类更改保留到对象图形,或者是为删除按钮引入新IBAction并在控制器上明确调用第一个remove然后save的唯一方法在NSManagedObjectContext

1 个答案:

答案 0 :(得分:3)

您似乎在谈论两个不同的问题:

  1. “从上下文中删除”与“从集合中删除”和
  2. 立即将更改保存到上下文。
  3. 如果您的内容数组绑定到其他某些源,则可以检查内容数组绑定的“删除删除对象”选项。如果内容仅仅是您提供的实体的所有实例(即,内容/数组绑定未建立且只是获取所有Foo实例),我希望将对象标记为删除。将更改保存到商店最终会删除对象。

    要立即保存更改,您可能需要自己单独的操作来通过“删除此对象并保存”操作。在这种情况下,您可以执行删除/删除,询问托管对象上下文到processPendingChanges ,然后调用保存例程。