Ios 核心数据-NSManagedObjectContext在主详细信息应用程序中返回零

Ios 核心数据-NSManagedObjectContext在主详细信息应用程序中返回零,ios,core-data,nsmanagedobjectcontext,Ios,Core Data,Nsmanagedobjectcontext,我正在开发一个闹钟应用程序,我使用苹果的主细节应用程序模板中的核心数据堆栈,所以在我打电话之前,核心数据一切正常 -(void)applicationIdentinterbackground:(UIApplication*)application主视图控制器中的一种方法,它在应用程序运行期间在后台执行一些工作,最后应将tableView[self.tableView重新加载数据] 从这一点上,我总是得到错误 +entityForName:nil不是搜索实体名称“myEntity”的合法NSMan

我正在开发一个闹钟应用程序,我使用苹果的主细节应用程序模板中的核心数据堆栈,所以在我打电话之前,核心数据一切正常
-(void)applicationIdentinterbackground:(UIApplication*)application
主视图控制器中的一种方法,它在应用程序运行期间在后台执行一些工作,最后应将tableView
[self.tableView重新加载数据]

从这一点上,我总是得到错误

+entityForName:nil不是搜索实体名称“myEntity”的合法NSManagedObjectContext参数

应用程序运行时一切正常,但只有当应用程序处于后台时tableView应该重新加载时,我才会收到此错误。有人知道我如何解决这个问题吗

在AppDelegate.m中

- (NSManagedObjectContext *)managedObjectContext {
if (_managedObjectContext != nil) return _managedObjectContext;

NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
if (coordinator != nil) {

    _managedObjectContext = [[NSManagedObjectContext alloc] init];
    [_managedObjectContext setPersistentStoreCoordinator:coordinator];
}
return _managedObjectContext; }
我在ApplicationIDFinishLaunchingWithOptions方法中有以下代码:

//some other stuff before...
WKMasterViewController *controller = (WKMasterViewController *)navigationController.topViewController;
controller.managedObjectContext = self.managedObjectContext;
在我的MasterViewController.m中,我有以下代码:

- (NSFetchedResultsController *)fetchedResultsController {
if (_fetchedResultsController != nil) {
    return _fetchedResultsController;
}

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"myEntity" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];

[fetchRequest setFetchBatchSize:20];

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"zeit" ascending:NO];
NSArray *sortDescriptors = @[sortDescriptor];

[fetchRequest setSortDescriptors:sortDescriptors];

NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:nil cacheName:@"Master"];
aFetchedResultsController.delegate = self;
self.fetchedResultsController = aFetchedResultsController;

NSError *error = nil;
if (![self.fetchedResultsController performFetch:&error]) {
    NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
    abort();
}

return _fetchedResultsController; }    

谢谢

检查->此功能

- (NSManagedObjectContext *)managedObjectContext {}
是否返回NIL
\u managedObjectContext

如果变量上下文为nil。这意味着您的managedObjectContext方法无法正常工作