当我启动应用时,我的初始视图为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
保持不同而不是“重置”。
答案 0 :(得分:0)
如果您使用的是导航控制器,执行此操作将弹出到您之前的控制器。 navigationController.popViewControllerAnimated(true)
答案 1 :(得分:0)
你可以使用这个
self.dismissViewControllerAnimated(false, completion: nil);
答案 2 :(得分:0)
导航控制器维护视图控制器的堆栈。只需弹出您的viewcontroller,您将返回到之前的视图控制器。
navigationController.popViewControllerAnimated(true)
或使用故事板中的unwind segue。