在iOS应用中设置退出按钮

时间:2015-04-10 05:06:16

标签: ios swift exit-code stack-unwinding

我有一个简单的游戏应用程序,我是在Swift中开发的。我在选项屏幕中有一个按钮,允许用户退出当前游戏并返回到开始屏幕。我已经考虑了几种方法来做到这一点,但我不确定哪种方式是正确的方法。

选项1: 我创建了一个exit函数并在主ViewController中定义了该函数,它看起来像这样:

   @IBAction func unwindToHome(s:UIStoryboardSegue) {
    println("unwind to home");
}

然后我只是控制从选项视图控制器内的退出按钮拖动到退出图标。这有效,但给了我一些意想不到的结果。当它通过我的视图控制器展开时,它会一路触发代码,当它返回到根VC时,会发生一些错误。

选项2: 控制从退出按钮拖回到根VC。这有效,并且不会导致任何错误,但我不知道这是否是一种好的做法。这是否会从堆栈中删除所有其他VC,或者我只是在旧游戏之上开始新游戏?

1 个答案:

答案 0 :(得分:0)

在选项2中,当您控制从退出按钮拖动到根VC时,您选择了哪种类型的segue?

我通常会说Option 1,但解决方法是不使用unwind segue。相反,只需在点击按钮时调用IBAction并在该方法内部调用

self.navigationController?.popToRootViewControllerAnimated(true)