7

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

有必要打电话NSManagedObjectContext save:给这种类型的商店吗?传递save:NSManagedObjectContext实际上对内存存储有什么作用吗?

苹果的文档简单地说:

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

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

4

2 回答 2

4

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

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

要使所有Core Data功能正常工作,必须将这两个部分分开,并通过save操作从前端(待处理的更改)推送到后端(持久数据)。

请注意,同一个存储(后端)可以有多个托管对象上下文(前端),并且它们中的每一个都有不同的挂起更改。请注意,每个托管对象上下文都有类似hasChanges和 a的方法。NSUndoManager它仍然适用于内存存储。

一些信息也在这里

于 2013-05-10T10:26:49.483 回答
1

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

于 2013-05-10T10:13:01.947 回答