'重置'应用程序到它的默认状态

时间:2013-02-28 09:40:13

标签: ios objective-c

我的应用程序有navigationController和一些根viewController在它的堆栈中。我需要一种方法将应用程序的状态重置为默认值,即当我的应用程序中的任何时刻只有navigationController和它的根viewController时。例如,我向后端发出一些后台数据请求并获得响应,这表示我必须立即注销用户。在那一刻,让我们假设,用户已经在navigationController堆栈中打开了许多其他viewControllers,也许一些用自己的navigationControllers呈现了viewControllers。所以我需要的是一种将用户从任何地方拉回到应用程序的根viewController的方法。

我知道这是一个糟糕的用户体验,但它肯定比崩溃应用程序更好,无论如何这应该是一种罕见的情况。

我不认为在所有viewControllers之间创建一个连锁反应,它会一个一个地解除它们直到它到达我的根viewController对我来说是一个好主意。这在每个VC中都是相同的代码,我不想创建UIViewController的子类,并从中创建所有VC的子类来完成这项工作。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您可以使用[self.navigationController popToRootViewControllerAnimated:YES];从应用的任何视图转到主根视图控制器。