假设一个默认的Xcode Cocoa应用程序模板,其中App Delegate位于主XIB文件中。
当然,applicationWillFinishLaunching:
之前会调用applicationDidFinishLaunching:
。
为什么awakeFromNib
在 applicationWillFinishLaunching:
之前被称为?
applicationWillFinishLaunching:
的文档说明了这一点:
在初始化应用程序对象之前由默认通知中心发送。
为什么这不会与awakeFromNib
在 applicationWillFinishLaunching:
之前被称为相矛盾?
我可以依赖这个订单吗?
答案 0 :(得分:4)
顺序是awakeFromNib,applicationWillFinishLaunching和applicationDidFinishLaunching,这是有道理的,因为您首先需要在实际运行应用程序之前加载UI。通知不是applicationDidStartLaunching,它可以看作是在awakeFromNib之前必须要去的东西。
答案 1 :(得分:1)
1。 awakeFromNib
2。 applicationWillFinishLaunching
3。 applicationDidFinishLaunching
答案 2 :(得分:0)
根据this answer,从nib存档中提取控制器时会调用awakeFromNib
。我想这是在应用程序完成启动后发生的。