您似乎对iOS编程范例有一些基本的误解。您已经将segue附加到按钮上,但是您还可以在代码中调用performSegue。当将segue附加到控件时,不需要任何代码(也应该没有任何代码)来使segue执行。您也不应使用放松功能返回到先前的视图控制器,而要放松放松。您并没有真正回去,而是在创建您认为要回去的控制器的新实例。这将导致控制器堆积(因为不会释放控制器),直到您的应用程序内存不足。
因此,您应该从MainScreen删除函数letPlayButton:,并在情节提要中删除它(您只需要在该按钮上附加segue)即可。
从GameScreen到MainScreen删除要“返回”的segue,然后将backToMainScreen中的代码更改为此,
@IBAction func backToMainScreen(sender: AnyObject) { self.dismissViewControllerAnimated(true, completion: nil) }


