在不创建新实例的情况下切换视图控制器



在我的应用程序中使用三个视图控制器。我刚刚用故事板片段创建了导航。当使用分段导航到其他视图时,为视图控制器创建新实例。考虑从A->B-C导航。如何从已经保存在内存中的C导航到A或B?注意:这里我不能使用disseviewcontroller来删除C的实例。这样我的导航应该是到已经创建的实例。

根据您的描述,您应该有一个自定义控制器来管理所提供的视图控制器,并允许视图控制器在彼此之间切换-有点像自定义选项卡栏控制器,但没有可见的选项卡栏。。。

这个自定义控制器将在第一次需要时创建视图控制器,然后将它们存储为实例变量,以便下次请求它们时可以重用它们。

在这个模型中,您没有"返回"的概念,您只有当前呈现的视图控制器和一些其他可以切换到的视图控制器。

如果你想去A,你可以随时使用

[self.navigationController popToRootViewControllerAnimated:YES];(It will take programming control to root of navigation controller which is A in your case)

万一你想去B[self.navigationController popViewControllerAnimated:YES];(它将简单地弹出当前视图控制器)

相关内容

最新更新