0

我有一个核心数据应用程序,它在表格视图中显示数据。它适用于以下代码:

 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];

但是,当我尝试实现嵌入标签栏应用程序的代码时,它确实显示了标签栏但没有核心数据。正在保存核心数据,但它们未显示在表格视图中。下面是代码:

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;

有什么帮助吗?

4

1 回答 1

0

您应该引用您的 tabBarController 并使用它的上下文。我确定您遇到的问题是 managedObjectContext 没有正确传递给您的视图。将您的上下文传递给 tabBarController,然后从您的 tabBarController 视图中访问该上下文。类似于下面。

YourTabBarController *tabBar = (YourTabBarController *)self.tabBarController;
self.managedObjectContext = tabBar.managedObjectContext;
于 2013-07-02T18:41:41.003 回答