2009-09-04 5 views
3

J'ai installé coredata dans mon appDelegate, mais il charge d'abord le mainWindow.xib et les contrôleurs + vues correspondantes dans ce fichier xib. Ces contrôleurs doivent avoir un managedObjectContext à charger correctement. Et après que le xib est désarchivé, il exécute le code dans mon appDelegate.setup coredata, avant que appdelegate charge mon mainWindow.xib

Comment puis-je configurer mes coredata et charger ensuite le mainWIndow.xib? Ou assurez-vous juste que coredata est initialisé correctement avant de désarchiver mon mainWindows.xib?

Répondre

3

Vous pouvez remplacer awakeFromNib sur votre sous-classe UIApplicationDelegate et y installer des données de base. Cette méthode sera appelée une fois que tous les objets auront été désarchivés de votre fichier nib, mais avant que leurs instances commencent à faire leur travail. Voir awakeFromNib comme votre dernière chance de modifier un comportement avant que les instances commencent à s'exécuter.

Observe:

  • Lors de la substitution awakeFromNib vous devez appeler [super awakeFromNib], ou bien votre superclasse ne pourriez pas initialiser correctement.
  • L'ordre des appels à awakeFromNib est indéfini, donc vous ne pouvez jamais envoyer de messages à d'autres objets de la même Nib depuis awakeFromNib. En prime, cela signifie également que awakeFromNib est garanti pour exécuter avant tout autre objet dans la même Nib a besoin de vos services et vous envoie des messages.
+0

Il semble que l'utilisation de awakeFromNib dans mon AppDelegate soit suffisante. – Ton

Questions connexes