[英]In what order are view methods called when transitioning from one view controller to another?
当我从一个视图控制器(让我们称之为MasterViewController
)转换到另一个视图控制器(称为DetailViewController
)时,每个控制器上的viewWillDisappear:
, viewWillAppear:
等方法的调用顺序是什么?
我怀疑当我的主视图消失时调用的一些清理代码会干扰我的详细视图中的初始化代码。 我查看了Apple的文档,但找不到任何涉及多个视图控制器的信息。
我创建了一个简单的基于UINavigationController的项目,并添加了一些NSLog
语句来找出它们被调用的顺序。
prepareForSegue:
viewDidLoad
viewWillDisappear:
viewWillAppear:
viewDidDisappear:
动画结束后) viewDidAppear:
但是,使用UITabViewController
在视图之间切换时,顺序是不同的:
viewDidLoad
viewWillAppear:
viewWillDisappear:
viewDidDisappear:
viewDidAppear:
因此,您似乎无法始终依赖于以相同顺序发生的这些事件 - 它可能会根据您正在转换的视图控制器的性质而有所不同。
我在这里错过了什么重点吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.