3 votes

Comment passer NSManagedObjectContext aux contrôleurs de vue lors de l'utilisation de storyboard (iOS)

J'utilise un tab bar controller en liaison avec core data . Chacun des différents onglets doit avoir accès à la base de données des NSManagedObjectContext Cependant, je ne veux pas utiliser un singleton ou simplement les extraire de la base de données des app delegate . Existe-t-il un moyen de les transmettre au contrôleur de vue de manière programmatique à partir de l'élément app delegate lorsque l'application se charge ?

2voto

Matthias Bauch Points 52145

Si vous avez une application basée sur des onglets dans un storyboard, le rootViewController de la fenêtre sera la commande UITabBarController . À partir de là, vous pouvez obtenir les contrôleurs de vue qui constituent vos onglets.

- (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...
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X