多个ManagedObjectContext

时间:2013-02-21 04:57:01

标签: ios managedobjectcontext

my managedObjectModel 中,我有几个实体。我认为可以为每一个创建 ManagedObjectContext ...如果这是真的我想知道:

  1. 我是否需要为每个ManagedObjectContext提供方法 - (NSManagedObjectModel *)managedObjectModel

  2. 我是否需要为每个ManagedObjectContext设置方法 - (void)saveContext

2 个答案:

答案 0 :(得分:0)

再次阅读Core Data Basics并查看一些使用核心数据的sample code

通常,

  • 您有一个NSManagedObjectModel就像一个提供实体描述的架构。
  • 您有一个NSPersistentStoreCoordinator,它使用您的NSManagedObjectModel来创建数据库
  • 并且您有一个或多个NSManagedObjectContext,它们是“暂存区”,与您的NSPersistentStoreCoordinator对话并管理对象的上下文。可以把它想象成一种交易方式。

当您创建项目时,请务必选中“使用核心数据”,以便项目随附大部分内容。

答案 1 :(得分:0)

您不需要这样做。单个托管对象上下文旨在处理多个实体,如果您的实体之间存在关系,则它们必须位于相同的上下文中。

单独的上下文对于背景线程和临时工作空间非常有用,正如here所解释的那样。除非您需要,否则请坚持使用单一上下文。