如果它所持有的类没有连接到viewController,我如何使用我实现的类函数来执行segue?
答案 0 :(得分:7)
为了执行segue,您需要segue源自的视图控制器实例 - 例如:
class MyViewController {
}
class MyClass {
showNextView(fromViewController: UIViewController) {
fromViewController.performSegueWithIdentifier("segue_id", sender: fromViewController)
}
}
但是我不鼓励这种互动。不要告诉视图控制器如何显示视图 - 让它自己做,然后问它。
所以,我建议在视图控制器中创建一个实例方法:
class MyViewController {
...
func goToNextView() {
performSegueWithIdentifier("segue_id", sender: self)
}
}
并使用它来进行转换:
class MyClass {
showNextView(fromViewController: MyViewController) {
fromViewController.goToNextView()
}
}
答案 1 :(得分:1)
您可以使用“performSegueWithIdentifier”指示当前可见的视图控制器进行segue。
您显然需要引用可见控制器。
在方法内使用:
currentViewController.performSegueWithIdentifier("push", sender: currentViewController)