2014-11-24 252 views
5

我看到Apple在默认模板中使用application:didFinishLaunchingWithOptions:在appDelegate类中设置窗口。我的问题是为什么不使用application:willFinishLaunchingWithOptions来代替。有什么只能在application:didFinishLaunchingWithOptions使用应用程序:willFinishLaunchingWithOptions而不是应用程序:didFinishLaunchingWithOptions:

我可以使用application:willFinishLaunchingWithOptions来初始化rootViewController。

我还是IOS新手,我可以理解这可能是一个愚蠢的问题,但任何帮助将不胜感激。

回答

4

应用:willFinishLaunchingWithOptions

告知,此次推出的进程已经开始委托但状态恢复还没有发生。

Vs的

应用中:didFinishLaunchingWithOptions

告知,此次推出的过程几乎完成委托和应用几乎可以运行。

所以差异是清晰可见的。 有关详细信息,你可以按照UIApplicationDelegate

所以应用:willFinishLaunchingWithOptions只是应用的非常先前事件中:didFinishLaunchingWithOptions

所以具有事件申请后:willFinishLaunchingWithOptions,未来事件应用: didFinishLaunchingWithOptions将被解雇。

所以这绝对取决于你的需求,但通常两者几乎相似,大多数时候你可能不需要使用这两者。

因此,在通常情况下,你可以使用应用中:didFinishLaunchingWithOptions作为其在类相似的最新事件。

+1

我明白,但我可以使用'application:willFinishLaunchingWithOptions'来初始化活动的UINavigationController。如果是,那么这是不错的做法。 – 2014-11-24 01:39:09

+0

请检查答案更新 – itsazzad 2014-11-24 01:46:45

+0

在这种情况下,您应该像使用application:willFinishLaunchingWithOptions一样使用application:didFinishLaunchingWithOptions,那么应用程序尚未启动。之后应该完成UI作业。 – itsazzad 2014-11-24 01:49:19

相关问题