Swift - 如何在实例化新视图控制器时保持对旧视图控制器的引用?

时间:2015-09-02 01:02:43

标签: ios iphone swift uiviewcontroller

我正在尝试使用此代码以编程方式实例化与我的原始视图控制器相同类型的新视图控制器:

self.navigationController!.pushViewController(self.storyboard!.instantiateViewControllerWithIdentifier(StoryboardKeys.ViewIdentifier), animated: true)

我希望用户能够回到原来的视图控制器,所以我想知道是否有办法将旧视图控制器保留在内存中?此外,如果我以这种方式实例化一个视图控制器,我是否可以准备famaguegue(为了以编程方式添加一个后退按钮)?如果没有,在推动此视图控制器时如何添加后退按钮?

我怀疑有更好的方法可以做到这一点,所以如果有,请告诉我。非常感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

UINavigationController自动将视图控制器保持为堆栈,因此不必担心视图控制器的内存管理。 只有你想要一个自定义后退按钮,否则你不必自己添加一个后退按钮,一切都已完成。

答案 1 :(得分:0)

在第二个视图控制器中的某处使用self.navigationController!.popViewControllerAnimated(true)。导航控制器包含一堆视图,您可以使用self.navigationController!.viewControllers检索这些视图。您可以根据需要修改此堆栈。