如何在使用故事板(iOS)时传递NSManagedObjectContext来查看控制器

时间:2013-08-04 11:16:15

标签: ios core-data uitabbarcontroller nsmanagedobjectcontext

我将tab bar controllercore data结合使用。每个不同的标签都需要访问NSManagedObjectContext,但我不想使用单例或只是将它们从app delegate中删除。有没有办法在应用加载时从app delegate以编程方式将它们传递给视图控制器?

1 个答案:

答案 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...
}