我在默认模板中看到Apple使用application:didFinishLaunchingWithOptions
:在appDelegate类中设置窗口。我的问题是为什么不要使用application:willFinishLaunchingWithOptions
。是否有些事情只能在application:didFinishLaunchingWithOptions
中完成。
我可以使用application:willFinishLaunchingWithOptions
初始化rootViewController。
我仍然是IOS的新手,我可以理解这可能是一个愚蠢的问题,但任何帮助将不胜感激。
答案 0 :(得分:5)
<强> 应用:willFinishLaunchingWithOptions 强>:
告诉代表启动过程已经开始但尚未进行状态恢复。
Vs的
<强> 应用中:didFinishLaunchingWithOptions 强>:
告诉代表,启动过程已基本完成,应用程序几乎可以运行了。
因此差异清晰可见。 有关详细信息,请参阅UIApplicationDelegate
所以应用程序:willFinishLaunchingWithOptions 只是应用程序的前一个事件:didFinishLaunchingWithOptions
因此,在事件应用程序:willFinishLaunchingWithOptions 之后,将触发下一个事件应用程序:didFinishLaunchingWithOptions 。
所以它肯定取决于你的需求,但通常两者几乎相似,大多数时候你可能不需要同时使用这两者。
因此,在通常情况下,您可以使用 application:didFinishLaunchingWithOptions 作为类似类别中的最新事件。
答案 1 :(得分:0)
由@itsazzad有益地研究的文档告诉我们,这两个事件之间的时间用于“ 恢复应用程序状态”。
因此,在较早的事件中初始化视图控制器似乎没有意义-因为状态尚未恢复-并且您不知道要呈现哪个UI。
您可能会在被杀后重新发射,并且需要立即跳到工作中的UI场景。
所以我的答案是:仅在ImageData
上初始化UI视图控制器