在两个视图控制器之间展开回归和快速解决

时间:2017-03-04 21:13:54

标签: ios swift segue unwind-segue

我希望用两个视图控制器(VC1和VC2)构建一个应用程序,每个控制器都包含一个计时器。我希望我的用户能够在这些视图之间来回切换,并允许每个计时器仍然运行。

目前,我已成功展开VC1或VC2(取决于我设置为初始视图控制器),但我很难成功地来回展开(即从VC1回到VC2回到VC1和等)

我认为我可以通过最初从VC1到VC2以正常的segue(从按钮按下)来实现这一点,虽然它将放松回到VC1,但是我无法让我的应用程序退出到VC2这里。

My two simple timer view controllers

这是代码(对于VC1):

@IBAction func unwindToSecondView(_ sender: UISwipeGestureRecognizer) 
{
    performSegue(withIdentifier: "unwindToSecond", sender: self)    
}

@IBAction func backFromSecondView(segue: UIStoryboardSegue) {
}

对于VC2:

@IBAction func segueToFirstView(_ sender: UISwipeGestureRecognizer)
{
    performSegue(withIdentifier: "unwindToFirst", sender: self)
}

@IBAction func backFromFirstView(segue: UIStoryboardSegue) {
}

我对swift很陌生,并在这里发现了一些有趣的消息来源(How to unwind two view controllersSwift Timer() will not update label after switching between views)但是没有取得多大成功 - 非常感谢任何有关不同的建议或想法实现。谢谢!

3 个答案:

答案 0 :(得分:0)

Apple已经发布了一个很好的例子。我建议您始终查看Apple开发人员指南网站和源代码。你的答案如下。 https://developer.apple.com/library/content/samplecode/SegueCatalog/Introduction/Intro.html

答案 1 :(得分:0)

答案 2 :(得分:-1)

来自A-B和B-A的

segue您只需dismiss(),如果您想从B-A发回数据,则可以创建delegate