Core data 如何在将应用程序返回到后台后重用现有的NSManagedObjectContext

Core data 如何在将应用程序返回到后台后重用现有的NSManagedObjectContext,core-data,ios7.1,magicalrecord-2.2,Core Data,Ios7.1,Magicalrecord 2.2,当用户将我的iPad应用程序放在后台以便可以使用另一个应用程序时,当处理完另一个应用程序后,返回到我的应用程序(在前台运行),之前的MagicalRecord defaultContext不会恢复(为零) 为了解决这个问题,我的想法是将defaultContext放在一个单例中,并在从后台返回时从那里恢复它,还是像最初启动应用程序时那样创建一个新的defaultContext(在AppDelegate中) 解决此问题的最佳方法是什么?尝试将NSManagaedObjectContext放在app

当用户将我的iPad应用程序放在后台以便可以使用另一个应用程序时,当处理完另一个应用程序后,返回到我的应用程序(在前台运行),之前的MagicalRecord defaultContext不会恢复(为零)

为了解决这个问题,我的想法是将defaultContext放在一个单例中,并在从后台返回时从那里恢复它,还是像最初启动应用程序时那样创建一个新的defaultContext(在AppDelegate中)


解决此问题的最佳方法是什么?

尝试将
NSManagaedObjectContext
放在
appDelegate
中,并使用

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
managedObjectContext = appDelegate.managedObjectContext;

解决办法不是做MR_清理(我正在做)来重置一切;当应用程序恢复时,MR自动保留默认上下文。

托管对象上下文本质上是事务。丢弃它们并创建新的是可以的-丢弃它们当然会丢弃任何未保存的更改。