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 ?
Réponse
Trop de publicités?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...
}