2013-07-02 65 views
0

我有一個核心數據應用程序,它在表格視圖中顯示數據。它的工作原理以及與下面的代碼:tabviewcontroller中的核心數據

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

你應該引用你的tabBarController並使用它的上下文。我相信你遇到的問題是managedObjectContext沒有正確傳遞給你的視圖。將你的上下文傳遞給tabBarController,然後從你的tabBarController的視圖中訪問該上下文。類似於下面。

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

謝謝DCGod。讓我嘗試。 – Kalaichelvan