目前,我按以下方式设置了导航堆栈:
ViewController A
-> ViewController B
-> ViewController C
->ViewController D
在ViewController
C 和的实现代码中ViewController D
,我有一个选择器,只有在满足以下测试时才会运行代码块
if (self.navigationController.visibleViewController)
我面临的问题是上述测试总是返回 true for ViewController C
。首先,我在 IOS 模拟器中启动我的应用程序,然后向上导航到 View Controller D。ViewController D
加载后,我按下模拟器上的“主页”按钮。按下主页按钮后,我再次单击我的应用程序并重新启动我的应用程序(进入前台)。现在发生的事情很奇怪,我可见的视图控制器是ViewController D
,因为那是我上次使用的视图控制器。虽然ViewController D
现在是目前唯一对我可见的视图控制器,但上面的 if 语句也返回 true ViewController C
!(我只想ViewController D's
执行选择器代码,这是一个问题)。
所以这引出了一个问题,成为 a 到底意味着什么,如果是出现在我面前的视图控制器,visibleViewController
我怎样才能使ViewController C's
选择器不执行.. 谢谢!ViewController D