Core data 在整个应用程序中分发和交换共享NSManagedObjectContext的最佳方式?

Core data 在整个应用程序中分发和交换共享NSManagedObjectContext的最佳方式?,core-data,nsmanagedobjectcontext,Core Data,Nsmanagedobjectcontext,为了创建持久存储备份,我必须使用框架的migratePersistentStore:toURL:options:withType:error:方法作为“SaveAs…”操作。之后,旧的持久性存储将从协调器中删除(这是我不想要的)。为了在协调器上恢复旧存储,我使用removeepersistentstore:error:删除备份存储,并使用addPersistentStoreWithType:configuration:URL:options:error:添加旧存储。此时,所有NSManagedO

为了创建持久存储备份,我必须使用框架的
migratePersistentStore:toURL:options:withType:error:
方法作为“SaveAs…”操作。之后,旧的持久性存储将从协调器中删除(这是我不想要的)。为了在协调器上恢复旧存储,我使用
removeepersistentstore:error:
删除备份存储,并使用
addPersistentStoreWithType:configuration:URL:options:error:
添加旧存储。此时,所有
NSManagedObject
s都不能再使用,因为核心数据认为它们是从另一个存储加载的(尽管我在迁移后重新添加了它)


问题:我的AppDelegate将其MOC传递给第一个视图控制器,然后第一个视图控制器将其传递给下一个视图控制器,依此类推。在UI和后台服务方面,我有一个相当复杂的应用程序。在应用程序中传递MOC并在必要时交换它的最佳方式是什么?

如果您使用依赖项注入,那么我将创建set访问器,以便在调用它时,它根据需要向下传递上下文,并根据需要标记任何重建

然而,根据我在你的另一个问题上发布的答案,这个问题变得毫无意义