苹果文档说:
在显示初始视图控制器之前,将调用应用程序委托,使您有机会配置视图控制器。
但这并不是真的发生。
single view template用Xcode创建了项目。ViewController.m中,我添加了awakeFromNib方法,在其中我只添加了NSLog(@"VC")。AppDelegate in didFinishLaunchingwithOptions我就是NSLog(@"AD")ViewController首先执行,然后是AppDelegate。didFinishLaunchingwithOptions方法总是首先执行,我能够配置数据库和其他所有ViewControllers都可以使用的初始内容,但现在我不能这样做。ViewController.m首先执行,我的数据库设置在didFinishLaunchingWithOptions中。出什么问题了?
发布于 2014-06-05 15:01:00
没出什么差错。当故事板加载了awakeFromNib时,会被调用。文档声明“在初始视图控制器是显示的之前”。
您可能在awakeFromNib中做一些不合适的事情,但是没有更多的信息就没有人知道。
带有故事板的应用程序生命周期与使用nibs略有不同。使用nibs,您可以在didFinishLaunching中创建和填充初始视图控制器。有了故事板,在调用didFinishLaunching之前,您就可以这样做了。然后,您可以在该方法中访问self.window.rootViewController,以获得初始视图控制器。
问题仍然在于,awakeFromNib并不是对正在设置的数据库进行响应或查询值的好地方。你的观点还没有被载入。你应该在生命周期的后期做这些事情。
https://stackoverflow.com/questions/24060476
复制相似问题