问题描述
|
我遇到一个奇怪的问题,在执行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未被执行是因为它不起作用了。