调用popToRootViewController时会发生什么?

时间:2015-06-24 14:47:40

标签: ios uiviewcontroller ios8 uinavigationcontroller

说我有一个堆栈3视图控制器深。如果我在popToRootViewController上调用navigationController,则顶级视图控制器会调用viewWillDisappear但不会调用中间控制器。中间控制器上是否有任何调用?

更新:我尝试使用dealloc来满足我的需求,但发现VC已经从root + 1解除分配到顶部而不是你认为堆栈可以工作的方式。

1 个答案:

答案 0 :(得分:2)

当您致电popToRootViewController时,当前可见的viewController消失(调用viewWillDisappear后)并显示堆栈上的第一个控制器。
其中的所有viewControllers都被取消分配(在调用dealloc之后)而未显示。如果他们没有被展示,他们就不会消失。

TL; DR:使用dealloc方法处理您拥有的任何内容。 (并确保不在任何地方保留对viewControllers的强引用)