首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >didFinishLaunchingwithOptions正在呼叫awakeFromNib

didFinishLaunchingwithOptions正在呼叫awakeFromNib
EN

Stack Overflow用户
提问于 2014-06-05 12:39:31
回答 1查看 980关注 0票数 0

苹果文档说:

在显示初始视图控制器之前,将调用应用程序委托,使您有机会配置视图控制器。

但这并不是真的发生。

  1. 我用single view template用Xcode创建了项目。
  2. ViewController.m中,我添加了awakeFromNib方法,在其中我只添加了NSLog(@"VC")
  3. 然后在AppDelegate in didFinishLaunchingwithOptions我就是NSLog(@"AD")
  4. 当我运行项目时,ViewController首先执行,然后是AppDelegate
  5. 有了故事板,didFinishLaunchingwithOptions方法总是首先执行,我能够配置数据库和其他所有ViewControllers都可以使用的初始内容,但现在我不能这样做。
  6. ViewController.m首先执行,我的数据库设置在didFinishLaunchingWithOptions中。

出什么问题了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-05 15:01:00

没出什么差错。当故事板加载了awakeFromNib时,会被调用。文档声明“在初始视图控制器是显示的之前”。

您可能在awakeFromNib中做一些不合适的事情,但是没有更多的信息就没有人知道。

带有故事板的应用程序生命周期与使用nibs略有不同。使用nibs,您可以在didFinishLaunching中创建和填充初始视图控制器。有了故事板,在调用didFinishLaunching之前,您就可以这样做了。然后,您可以在该方法中访问self.window.rootViewController,以获得初始视图控制器。

问题仍然在于,awakeFromNib并不是对正在设置的数据库进行响应或查询值的好地方。你的观点还没有被载入。你应该在生命周期的后期做这些事情。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24060476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档