tabviewcontroller中的核心数据

时间:2013-07-02 16:14:35

标签: ios core-data ios6 tabbar

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

 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;

任何帮助?

1 个答案:

答案 0 :(得分:0)

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

YourTabBarController *tabBar = (YourTabBarController *)self.tabBarController;
self.managedObjectContext = tabBar.managedObjectContext;