是否有必要调用NSManagedObjectContext保存:对于内存存储?

时间:2013-05-10 10:03:13

标签: ios cocoa core-data

我在我的应用程序中使用CoreData,其持久存储类型为NSInMemoryStoreType

是否有必要使用此类商店致电NSManagedObjectContext save:?传递save:NSManagedObjectContext是否真的为内存商店做了任何

Apple's documentation只是声明:

  

保存
  尝试将未保存的更改提交到已注册的对象到其持久存储。

这在内存商店的上下文中实际意味着什么?

2 个答案:

答案 0 :(得分:4)

我找不到任何文档,但我确信仍然需要它。

Core Data有一个内存前端(由托管对象上下文表示)和一个持久后端(“store”)。持久性后端通常是一个文件,但它可以驻留在内存中NSInMemoryStoreType

要使所有Core Data函数起作用,必须将这两个部分分开,然后通过save操作从前端(挂起的更改)推送到后端(持久数据)。

请注意,同一商店(后端)可能有多个托管对象上下文(前端),并且每个托管对象上下文都有不同的挂起更改。请注意,每个托管对象上下文都有hasChangesNSUndoManager等方法。它仍适用于内存存储。

有些信息here

答案 1 :(得分:1)

save:执行属性和关系约束的验证。