uitabbar的topviewcontroller

时间:2012-02-29 18:37:58

标签: iphone ios xcode

我用coredata创建了一个基于导航的项目,并用tabbarcontroller取代了navigationcontroller。 但我发现很难重写这个:

UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
MasterViewController *controller = (MasterViewController *)navigationController.topViewController;
controller.managedObjectContext = self.managedObjectContext;

感谢。

1 个答案:

答案 0 :(得分:6)

UITabBarController没有根视图控制器,因为它不管理一堆视图控制器,而是管理数组(视图控制器根据标签栏中占用的插槽排序)。

这段代码将为标签栏控制器中的第一个(最左侧)视图控制器设置托管对象上下文:

UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
MasterViewController *controller = (MasterViewController *)[tabBarController.viewControllers objectAtIndex:0];
controller.managedObjectContext = self.managedObjectContext;