如何从另一个viewcontroller

时间:2015-09-11 12:55:27

标签: ios swift ios8 uistoryboard uistoryboardsegue

当我启动应用时,我的初始视图为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保持不同而不是“重置”。

3 个答案:

答案 0 :(得分:0)

如果您使用的是导航控制器,执行此操作将弹出到您之前的控制器。 navigationController.popViewControllerAnimated(true)

答案 1 :(得分:0)

你可以使用这个

self.dismissViewControllerAnimated(false, completion: nil);

答案 2 :(得分:0)

导航控制器维护视图控制器的堆栈。只需弹出您的viewcontroller,您将返回到之前的视图控制器。

navigationController.popViewControllerAnimated(true)

或使用故事板中的unwind segue。

What are Unwind segues for and how do you use them?