繁体   English   中英

如何从另一个ViewController移至现有ViewController

[英]How to move to existing viewcontroller from another viewcontroller

当我启动应用程序时,我的初始视图是MainViewController
然后在按钮上单击“我移至AnotherViewController

performSegueWithIdentifier("myFirstSegue", sender: self)

AnotherViewController我有一个按钮应该可以让我返回MainViewController但我不想实例化新的实例,而是使用现有实例。

let storyboard = UIStoryboard(name: "Main", bundle: nil)
var story = storyboard.instantiateViewControllerWithIdentifier("MainViewController") as! ViewController
let navigationController = UINavigationController(rootViewController: story)
self.showViewController(navigationController, sender: nil)

使用此代码,我创建了新代码,因此丢失了存储在该视图中的数据。

如何获取现有实例并直接移至该实例?

更新

为了更好地说明问题,如果在第一个视图上我有UISwitch并移至另一个ViewController ,然后再回到第一个视图,我想让UISwitch保持不变而不是“重置”。

如果您使用的是导航控制器,则将弹出至先前的控制器。 navigationController.popViewControllerAnimated(true)

你可以用这个

self.dismissViewControllerAnimated(false, completion: nil);

导航控制器维护视图控制器的堆栈。 只需弹出您的viewcontroller,您将回到上一个视图控制器。

navigationController.popViewControllerAnimated(true)

或使用情节提要中的放松选择。

什么是Unwind segues,您如何使用它们?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM