我在我的应用程序中使用 CoreData,持久存储类型为NSInMemoryStoreType
.
有必要打电话NSManagedObjectContext save:
给这种类型的商店吗?传递save:
到NSManagedObjectContext
实际上对内存存储有什么作用吗?
苹果的文档简单地说:
保存:
尝试将对已注册对象的未保存更改提交到其持久存储。
在内存存储的上下文中,这实际上意味着什么?
我找不到任何文档,但我确信它仍然需要。
Core Data
有一个内存前端(由托管对象上下文表示)和一个持久后端(“存储”)。持久性后端通常是一个文件,但它可以只驻留在内存中NSInMemoryStoreType
。
要使所有Core Data
功能正常工作,必须将这两个部分分开,并通过save
操作从前端(待处理的更改)推送到后端(持久数据)。
请注意,同一个存储(后端)可以有多个托管对象上下文(前端),并且它们中的每一个都有不同的挂起更改。请注意,每个托管对象上下文都有类似hasChanges
和 a的方法。NSUndoManager
它仍然适用于内存存储。
一些信息也在这里
save:
执行属性和关系约束的验证。