我在Unwind Segue遇到麻烦。我有3个ViewControllers,他们都在名为ViewController.swift 的类下。我试图让最后一个ViewController成为第3个,只需按一下按钮即可开始ViewController,但我似乎无法得到它。我在提交这个问题之前试图研究但是找不到它。如果您需要更多信息,请告诉我。
答案 0 :(得分:0)
你有VC1 - > VC2 - > VC3并希望从VC3直接放松到VC1。为此,您需要VC1中定义的@IBAction
未在VC2中定义。目前这是不可能的,因为所有的ViewControllers都在 ViewController.swift 中使用相同的类定义。
在不重复 ViewController.swift 中的所有代码的情况下解决此问题的一种方法是子类ViewController
并仅添加VC1独有的函数。然后在Storyboard中,选择第一个ViewController,并在 Identity Inspector 中将自定义类设置为MainViewController
。
class MainViewController: ViewController {
@IBAction func returnToMain(segue: UIStoryboardSegue) {
print("back in the MainViewController")
}
}
然后,当您将展开segue , control -drag从您的按钮设置到第3个顶部的退出图标时ViewController并从弹出窗口中选择returnToMain
操作。