SWIFT、ViewControllers 并展开到初始 ViewController

SWIFT, ViewControllers and unwind segue to initial ViewController

我在使用 Unwind Segue 时遇到问题。我有 3 个 ViewController,它们 都在名为 ViewController.swift 的 class 下。我正在尝试获取最后一个 ViewController,这是第 3 个到开始 ViewController 的位置,只需轻按一个按钮,但我似乎无法获取它。在提交这个问题之前,我试图进行研究,但找不到。如果您需要更多信息,请告诉我。

您有 VC1 -> VC2 -> VC3 并希望从 VC3 直接解压到 VC1。为此,您需要一个在 VC1 中定义但未在 VC2 中定义的 @IBAction。目前这是不可能的,因为您所有的 ViewController 都在 ViewController.swift.

中使用相同的 class 定义

无需复制 ViewController.swift 中的所有代码即可解决此问题的一种方法是 subclass ViewController 并仅添加函数这是 VC1 独有的。然后在 Storyboard 中,select 第一个 ViewController 并在 Identity Inspector 中设置 Custom ClassMainViewController.

class MainViewController: ViewController {
    @IBAction func returnToMain(segue: UIStoryboardSegue) {
        print("back in the MainViewController")
    }
}

然后,当您设置 unwind seguecontrol 时,从您的按钮拖动到 Exit 图标位于第 3 个 ViewController 和 select 来自 pop-up.

returnToMain 操作