以编程方式启动视图控制器的正确位置:willFinishLaunching vs didFinishLaunching?

时间:2017-03-20 17:36:36

标签: ios objective-c

这可能对性能影响很小,但我注意到很多帖子和教程只是实例化并设置了根视图控制器

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

但是,实际上有一个方法未包含在默认的AppDelegate模板文件中,该文件首先被触发:

-(BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions

在其中任何一个中实例化视图控制器之间有什么区别吗?只是偏好或懒惰?

1 个答案:

答案 0 :(得分:1)

这些之间的主要区别包括状态恢复(使用application:shouldSaveApplicationStateapplication:shouldRestoreApplicationStateapplication:willFinishLaunchingWithOptions {{1}}注释:“如果您的应用依赖状态恢复机制来恢复它的视图控制器,总是从这个方法显示你的应用程序的窗口。“如果你没有做任何状态恢复,它可能没有任何真正的区别你使用的。