我有一个有人登录的应用程序,如果他们在将其发送到后台超过10分钟后启动它,我会弹出一个不错的小“会话过期”警报并将它们发送到根视图控制器(登录页面) 。
一切都很好但我不知道如何从app delegate的applicationWillEnterForeground:方法弹出导航控制器堆栈中的根视图控制器。
我尝试将navigationController保存到appDelegate变量上,但我想知道应用程序是否在后台运行了好几天,如果iOS开始释放一些变量,因为当时我在这个方法中遇到错误。
有什么想法吗?
答案 0 :(得分:10)
如果导航控制器是您的应用程序的根视图控制器,那么您可以得到它:
UINavigationController *myNavCon = (UINavigationController*)self.window.rootViewController;
其中self
位于app delegate
答案 1 :(得分:3)
为了使事情更清楚,可以使用以下命令从AppDelegate弹出到rootviewcontroller
UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
[navigationController popToRootViewControllerAnimated:YES];
这里的自我是app delegate。