我有一个核心数据应用程序,它在表格视图中显示数据。它适用于以下代码:
self.mainViewController = [[MainViewController alloc] init];
self.mainViewController.managedObjectContext = self.managedObjectContext;
self.navController = [[UINavigationController alloc] initWithRootViewController:self.mainViewController];
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor blackColor];
[self.window setRootViewController:self.navController];
[self.window makeKeyAndVisible];
然而,当我尝试实现嵌入tabbar应用程序的代码时,它确实显示了tabbar但没有核心数据。核心数据正在保存,但它们不会显示在tableview中。下面是代码:
UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
NSArray *arrController = [tabBarController viewControllers];
UINavigationController *navController = [arrController objectAtIndex:0];
MainViewController *controller = [navController. viewControllers objectAtIndex:0];
controller.managedObjectContext = self.managedObjectContext;
任何帮助?
答案 0 :(得分:0)
您应该引用tabBarController并使用它的上下文。我确定您遇到的问题是managedObjectContext未正确传递给您的视图。将您的上下文传递给tabBarController,然后从您的tabBarController视图中访问该上下文。与下面类似。
YourTabBarController *tabBar = (YourTabBarController *)self.tabBarController;
self.managedObjectContext = tabBar.managedObjectContext;