我将tab bar controller
与core data
结合使用。每个不同的标签都需要访问NSManagedObjectContext
,但我不想使用单例或只是将它们从app delegate
中删除。有没有办法在应用加载时从app delegate
以编程方式将它们传递给视图控制器?
答案 0 :(得分:2)
如果故事板中有基于选项卡的应用程序,则窗口的rootViewController将为UITabBarController
。从那里你可以获得制作标签的viewControllers。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
UIViewController *firstVC = tabBarController.viewControllers[0];
firstVC.managedObjectContext = self.managedObjectContext;
UIViewController *secondVC = tabBarController.viewControllers[1];
secondVC.managedObjectContext = self.managedObjectContext;
// more...
}