在执行AppDelegate didFinishLaunchingWithOptions之前运行ViewDidLoad!

问题描述

| 我遇到一个奇怪的问题,在执行AppDelegate的didFinishLaunchingWithOptions之前,方法\“ ViewDidLoad \”运行! 原因我只检查\“ didFinishLaunchingWithOptions \”中是否存在数据库,如果该数据库不存在,我的应用程序将崩溃。闲逛了几个小时后,我已经厌倦了,请致电HEEEEELP! 如果您愿意的话,请把我指向正确的方向,这可能是我的项目出错的地方。我无法弄清楚(啊!) 谢谢! 最好的祝福 汤姆     

解决方法

viewDidLoad可以在从NIB加载的ViewController上运行,因为在调用didFinishLaunchingWithOptions之前已加载这些ViewController:     ,我遇到了同样的问题,在更详细地查看了代码之后,我发现在xViewController的
awakeFromNib
内部,我正在初始化另一个yViewController。因此yViewController的
viewDidLoad
didFinishLaunchingWithOptions:
之前运行。 基本上,初始VC \的“ 0”在“ 2”之前被调用。您可能具有类似的设置。调查一下。     ,如果您的数据库文件加载速度不够快;覆盖您的AppDelegate的init():
override init() {
    if filesExistBool == false {
        addDBFiles()
    }
}
    ,我不相信你 在ѭ6中,您决定要加载哪些视图。如果您不告知应用程序,则该应用程序不会随机加载视图。您是在
viewDidLoad
中先放置一个断点,还是在
application:didFinishLaunchingWithOptions:
中先放置一个断点,还是只是假设ѭ6because未被执行是因为它不起作用了。