美文网首页
控制器生命周期函数

控制器生命周期函数

作者: 不辣先生 | 来源:发表于2019-12-11 12:15 被阅读0次

如果UIViewController有UINavigationController和UITabBarController

-[AppDelegate application:didFinishLaunchingWithOptions:]
2019-12-11 12:00:59.940802+0800 Calayer[66251:6585030] -[CustomTabBarController viewDidLoad]
2019-12-11 12:00:59.943844+0800 Calayer[66251:6585030] -[CustomNavigationController viewDidLoad]
 topViewController:(null)
2019-12-11 12:00:59.950697+0800 Calayer[66251:6585030] -[CustomNavigationController viewDidLoad]
 topViewController:(null)
2019-12-11 12:00:59.952390+0800 Calayer[66251:6585030] -[CustomNavigationController viewDidLoad]
 topViewController:(null)
2019-12-11 12:00:59.962496+0800 Calayer[66251:6585030] -[CustomNavigationController viewWillAppear:]
 topViewController:ViewController
2019-12-11 12:00:59.975597+0800 Calayer[66251:6585030] -[CustomNavigationController viewWillLayoutSubviews]
 topViewController:ViewController
2019-12-11 12:00:59.976298+0800 Calayer[66251:6585030] -[ViewController viewDidLoad]
2019-12-11 12:00:59.976730+0800 Calayer[66251:6585030] -[ViewController viewWillAppear:]
2019-12-11 12:00:59.978331+0800 Calayer[66251:6585030] -[CustomNavigationController viewDidLayoutSubviews]
 topViewController:ViewController
2019-12-11 12:00:59.978491+0800 Calayer[66251:6585030] -[CustomNavigationController viewWillLayoutSubviews]
 topViewController:ViewController
2019-12-11 12:00:59.992946+0800 Calayer[66251:6585030] -[CustomNavigationController viewDidLayoutSubviews]
 topViewController:ViewController
2019-12-11 12:00:59.993341+0800 Calayer[66251:6585030] -[ViewController viewWillLayoutSubviews]
2019-12-11 12:00:59.993485+0800 Calayer[66251:6585030] -[ViewController viewDidLayoutSubviews]
2019-12-11 12:01:00.025355+0800 Calayer[66251:6585030] -[ViewController viewDidAppear:]
2019-12-11 12:01:00.025772+0800 Calayer[66251:6585030] -[CustomNavigationController viewDidAppear:]
 topViewController:ViewController


加入子控制器跳转ViewController3

-[CustomNavigationController viewWillLayoutSubviews]
 topViewController:ViewController3
2019-12-11 12:02:27.116574+0800 Calayer[66251:6585030] -[ViewController3 viewDidLoad]
2019-12-11 12:02:27.116688+0800 Calayer[66251:6585030] -[ViewController viewWillDisappear:]
2019-12-11 12:02:27.116805+0800 Calayer[66251:6585030] -[ViewController3 viewWillAppear:]
2019-12-11 12:02:27.135291+0800 Calayer[66251:6585030] -[CustomNavigationController viewDidLayoutSubviews]
 topViewController:ViewController3
2019-12-11 12:02:27.135523+0800 Calayer[66251:6585030] -[ViewController3 viewWillLayoutSubviews]
2019-12-11 12:02:27.135612+0800 Calayer[66251:6585030] -[ViewController3 viewDidLayoutSubviews]
2019-12-11 12:02:27.649734+0800 Calayer[66251:6585030] -[ViewController viewDidDisappear:]
2019-12-11 12:02:27.650085+0800 Calayer[66251:6585030] -[ViewController3 viewDidAppear:]

结论:
1、一定是先走[AppDelegate application:didFinishLaunchingWithOptions:],但不一定走完了在去viewController,意思是如果在[AppDelegate application:didFinishLaunchingWithOptions:]这个函数初始化了其他配置,如果放在了控制器初始化之后,那这些配置在rootViewController不会生效,因为rootViewController 已经初始化完毕;
2、TabBarController只会走一个viewdidload,至于为啥俺也不晓得,至于导航控制器和其栈顶控制器之间生命周期函数的调用顺序如最上面代码所示;
3、导航控制器执行push操作栈顶控制器切换时候生命周期函数调用顺序如第二份代码示例中所打印的结果

相关文章

  • iOS 两个控制器切换时生命周期函数的调用顺序

    1️⃣一个控制器的生命周期函数调用顺序没什么可讲的,问题是两个控制器切换时他们的生命周期函数的调用会穿插在一起。

  • React生命周期函数

    生命周期函数 生命周期函数性能优化 生命周期函数发送Ajax请求

  • 给刚入行的小伙伴的推荐学习内容

    1. 在控制器不同生命周期函数中 self.view.frame的大小 2. layoutsubviews 3. ...

  • 控制器生命周期函数

    如果UIViewController有UINavigationController和UITabBarControl...

  • Vue学习笔记(12)-生命周期函数

    生命周期函数 生命周期函数代表的是Vue实例,或者是Vue组件,在网页中各个生命阶段所执行的函数。生命周期函数可以...

  • React的生命周期函数

    一、生命周期函数的定义 在某个时刻自动被调用的函数是生命周期函数 二、React中生命周期函数示意图 三、生命周期...

  • Vue的生命周期函数

    创建期间的生命周期函数: beforeCreate() 在beforeCreate() 生命周期函数执行的时候,...

  • RN-生命周期函数(新)

    旧版生命周期函数 react 16.4 以后生命周期函数 http://projects.wojtekmaj.pl...

  • Vue 生命周期

    生命周期函数 生命周期函数就是 Vue 实例在某一个时间点会自动执行的函数 简单来说就是,钩子(生命周期函数)就好...

  • Vue3.X学习笔记

    引用 创建应用app和挂载 或者 生命周期函数 生命周期函数,生命周期函数你可以这样理解,就是在** 在某一时刻会...

网友评论

      本文标题:控制器生命周期函数

      本文链接:https://www.haomeiwen.com/subject/ohjogctx.html