iOS UIViewController各种情况下生命周期方法调用顺序

UINavigationControllerviewControllerA通过pushViewController:animated:跳转到viewControllerB

- [viewControllerB viewDidLoad]
- [viewControllerA viewWillDisappear:]
- [viewControllerB viewWillAppear:]
- [viewControllerA viewDidDisappear:]
- [viewControllerB viewDidAppear:]

Storyboard下创建的UITabBarController

下面使用tabBarController表示UITabBarController、subViewController0表示UITabBarController的第一个子控制器,subViewController1表示UITabBarController第二个子控制器
调用顺序如下

-[subViewController0 initWithCoder:]
-[subViewController1 initWithCoder:]
-[tabBarController initWithCoder:]
-[tabBarController awakeFromNib]
-[subViewController0 awakeFromNib]
-[subViewController1 awakeFromNib]
-[tabBarController viewDidLoad]
-[subViewController0 viewDidLoad]
-[subViewController0 viewWillAppear:]
-[tabBarController viewWillAppear:]
-[subViewController0 viewDidAppear:]
-[tabBarController viewDidAppear:]

点击TabBarItem切换子控制器时调用顺序如下:

-[subViewController1 viewDidLoad]
-[subViewController1 viewWillAppear:]
-[subViewController0 viewWillDisappear:]
-[subViewController0 viewDidDisappear:]
-[subViewController1 viewDidAppear:]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容