didFinishLaunchingWithOption和viewDidLoad之间有什么区别

Jac*_*Lam 6 iphone viewdidload

两者有什么方法之间的差异didFinishLaunchingWithOptionviewDidLoad

前者是一种方法,AppDlegate.m 后者是一种方法ViewController.m,但它们都执行将UI加载到视图上的相同任务.

Thu*_*ets 5

application:didFinishLaunchingWithOptions:是一种UIApplicationDelegate协议方法,当iOS为您的App设置完要运行的区域后,将调用该方法,并且是开发人员,加载视图控制器等的插入点。

viewDidLoad另一方面的方法是的方法UIViewController被调用时的一个实例,类UIViewController获取其视图加载到存储器中。根据Apple的文档:

在控制器的视图加载到内存后调用。

讨论 在视图控制器将其视图层次结构加载到内存后,将调用此方法。无论是从nib文件加载视图层次结构还是在loadView方法中以编程方式创建视图层次结构,都将调用此方法。通常,您可以重写此方法以对从nib文件加载的视图执行其他初始化。

  • 否,didFinishLaunchingWithOptions用于应用程序级别的设置。如果需要修改特定视图控制器的子视图,则需要在viewDidLoad中进行。didFinishLaunchingWithOptions方法在其总执行时间上有二十(20)秒的限制,在20秒后,您的App被iOS杀死了,因此最好养成避免将代码放到该方法中(如果它可以放在其他地方)的习惯。 (9认同)