我想在viewDidLoad调用之前初始化一些代码,但它总是首先进入viewDidLoad,然后进入方法applicationDidFinishLaunching.我无法理解发生了什么?
这是因为 AppDelegate 在 applicationDidFinishLaunching 之前自动实例化其窗口和主视图控制器。您应该在故事板中取消选中“是初始视图控制器”,并在 applicationDidFinishLaunching 中手动创建窗口及其根视图控制器。
小智 5
application:didFinishLaunchingWithOptions的文档:
您应该使用此方法来初始化您的应用程序并准备运行。在您的应用程序启动并加载其主 nib 文件后调用它。在调用此方法时,您的应用程序处于非活动状态。在此方法返回后的某个时间点,调用后续委托方法将您的应用程序移动到活动(前台)状态或后台状态。
因此,一旦调用了视图属性或方法,就会为视图控制器延迟加载视图。发生这种情况时,会调用 viewDidLoad,因此如果您的窗口 rootViewController 属性设置为笔尖中的根 ViewController,那么这是预期的行为。