调用核心数据时出现以下错误
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+entityForName: nil is not a legal NSManagedObjectContext parameter searching for entity name 'ExcerciseInfo''
我正在使用的课程适用于另一个uitableview但不适用于当前的课程。我已经指出了引发错误的地方:
if (_fetchedResultsController != nil) {
return _fetchedResultsController;
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
entityForName:@"ExcerciseInfo" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];
我已经查看了其他类似问题,但没有强调任何相关修复。我认为我不会传递上下文,因为它不是第一个视图控制器,而是第二个选项卡。
目前在我的appdelagate中,我正在调用此函数:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UITabBarController *tbc = (UITabBarController *)self.window.rootViewController;
UINavigationController *navigationController = tbc.viewControllers[0];
FBCDMasterViewController *controller = (FBCDMasterViewController *)navigationController.topViewController;
controller.managedObjectContext = self.managedObjectContext;
return YES;
}
我定位的其他uitableview控制器是FBCDRoutineViewController
有什么建议吗?我希望这很清楚。
答案 0 :(得分:2)
正如其他用户所说。我没有在新的视图控制器上调用上下文。
- (NSManagedObjectContext *)managedObjectContext
{
NSManagedObjectContext *context = nil;
id delegate = [[UIApplication sharedApplication] delegate];
if ([delegate performSelector:@selector(managedObjectContext)]) {
context = [delegate managedObjectContext];
}
return context;
}