ViewDidLoad s'exécute avant AppDelegate didFinishLaunchingWithOptions est exécuté!

Je rencontre un problème étrange où la méthode "ViewDidLoad" s'exécute avant l'exécution de didFinishLaunchingWithOptions de l'AppDelegate! Parce que je vérifie seulement si une database existe dans "didFinishLaunchingWithOptions" mon application se bloque si la database n'est pas là. après avoir farfouillé pendant quelques heures je suis fatigué de le faire et appelez HEEEEELP! S'il vous plaît pourriez être si gentil et me diriger dans la bonne direction ce qui est susceptible d'être mauvais avec mon projet. Je ne peux pas le comprendre (aaarggh!)

Je vous remercie!

Cordialement Tom

viewDidLoad peut s'exécuter sur les ViewControllers chargés à partir de NIB car ceux-ci sont chargés avant l'appel à didFinishLaunchingWithOptions:

J'ai eu le même problème et après avoir regardé le code plus en détail, j'ai découvert que dans awakeFromNib d'un xViewController, j'initie un autre yViewController. Ainsi, viewDidLoad de yViewController est exécuté avant didFinishLaunchingWithOptions:

Fondamentalement, awakeFromNib du VC initial est appelé avant didFinishLaunchingWithOptions: Vous pourriez avoir quelque chose de similaire à une configuration. Regarde ça.

Si vos files de database ne se chargent pas assez rapidement; remplacez le init () de votre AppDelegate:

 override init() { if filesExistBool == false { addDBFiles() } } 

Je ne te crois pas.

En application:didFinishLaunchingWithOptions: vous décidez quelles vues charger. L'application ne chargera pas de vues de manière random sans que vous lui disiez de le faire. Avez-vous d'abord mis un point d'arrêt dans viewDidLoad et un premier dans l' application:didFinishLaunchingWithOptions: ou application:didFinishLaunchingWithOptions: -vous simplement que l' application:didFinishLaunchingWithOptions: n'a pas été exécutée car elle ne fonctionne pas.