popToViewController使用Bug 连续两级退出
2017-09-25 本文已影响52人
follow_er
需求是这样的:
VVC -(push)-> AVC -(push)-> BVC 然后 BVC -(pop)--> VVC
AVC 与 BVC 的 navigationBar 是隐藏的.
这个需求其实看起不难, 直接使用[self.navigationController popToViewController:self animated:YES];
(self 是VVC)
但是直接调用系统方法pop后AVC的Navigation被隐藏了, 查看调用系统调用顺序,
系统先调用[self.navigationController popToViewController:self animated:YES]
然后调用了BVC中的viewWillDisappear
方法, 此时在viewWillDisappear
中打印self.navigationController的地址为null
但是如果设置[self.navigationController popToViewController:self animated:NO]
再相同地方打印就有值, VVC中的navigationBar不会被隐藏.
![](https://img.haomeiwen.com/i1756672/2bd46a553057b90f.gif)