2013-05-10 51 views
6

我在我的应用程序中使用CoreData,并使用NSInMemoryStoreType类型的持久性存储。是否有必要调用NSManagedObjectContext保存:用于内存存储?

是否有必要致电NSManagedObjectContext save:这种类型的商店?​​到NSManagedObjectContext实际上是否什么为内存存储?

Apple's documentation只是说:

节省:
尝试提交未保存的更改注册的对象,以他们的持久性存储。

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

+1

+1,非常好的问题。我一直保存上下文,相信上下文中产生的所有对象都将被移至persistentStore,并减少内存占用量。 – Anupdas 2013-05-10 10:14:07

回答

3

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

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

要使所有Core Data函数正常工作,必须将两部分分开,并通过save操作从前端(等待更改)推入后端(持久数据)。

请注意,同一商店(后端)可能存在多个托管对象上下文(前端),并且每个托管对象具有不同的待处理更改。请注意,在每个托管对象上下文中都有类似hasChangesNSUndoManager的方法。它仍然适用于内存存储。

某些信息也here

1

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

相关问题