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.