我用coredata创建了一个基于导航的项目,并用tabbarcontroller取代了navigationcontroller。 但我发现很难重写这个:
UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
MasterViewController *controller = (MasterViewController *)navigationController.topViewController;
controller.managedObjectContext = self.managedObjectContext;
感谢。
答案 0 :(得分:6)
UITabBarController
没有根视图控制器,因为它不管理一堆视图控制器,而是管理数组(视图控制器根据标签栏中占用的插槽排序)。
这段代码将为标签栏控制器中的第一个(最左侧)视图控制器设置托管对象上下文:
UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
MasterViewController *controller = (MasterViewController *)[tabBarController.viewControllers objectAtIndex:0];
controller.managedObjectContext = self.managedObjectContext;