当前位置 : 主页 > 手机开发 > ios >

ios – 从一个视图控制器转换到另一个视图控制器时,调用视图方法的顺序是什么

来源:互联网 收集:自由互联 发布时间:2021-06-11
当我从一个视图控制器(让我们称之为MasterViewController)转换到另一个视图控制器(称为DetailViewController)时,每个控制器上的viewWillDisappear:,viewWillAppear:等方法的调用顺序是什么? 我怀疑当
当我从一个视图控制器(让我们称之为MasterViewController)转换到另一个视图控制器(称为DetailViewController)时,每个控制器上的viewWillDisappear:,viewWillAppear:等方法的调用顺序是什么?

我怀疑当我的主视图消失时调用的一些清理代码会干扰我的详细视图中的初始化代码.我查看了Apple的文档,但找不到任何涉及多个视图控制器的信息.

我创建了一个简单的基于UINavigationController的项目,并添加了一些NSLog语句来找出它们被调用的顺序.

> Master prepareForSegue:
>详细信息viewDidLoad
> Master viewWillDisappear:
>详情viewWillAppear:
>显示新视图(带或不带动画)
> Master viewDidDisappear :(动画结束后)
>详情viewDidAppear:

但是,使用UITabViewController在视图之间切换时,顺序是不同的:

> SecondTab viewDidLoad
> SecondTab viewWillAppear:
> FirstTab viewWillDisappear:
>将显示新视图.
> FirstTab viewDidDisappear:
> SecondTab viewDidAppear:

因此,您似乎无法始终依赖于以相同顺序发生的这些事件 – 它可能会根据您正在转换的视图控制器的性质而有所不同.

我在这里错过了什么重点吗?

网友评论