我的故事板结构:
1.Screen1(UIViewController)
2.GameScreen(SKScene)
3.Screen3(UIViewController)
我从Screen1
传递UIViewController自身对象//Screen1 class
@IBAction func onStartButtonClicked(_ sender: Any) {
Values.viewController = self
}
到GameScreen,当做一个segue时:
//GameScreen class
struct Values {
static var viewController: UIViewController!
}
class GameScreen: SKScene {...}
我的任务是使用Screen1的对象从GameScreen到Screen3制作一个segue,它已经从上一步传递过来了:
Values.viewController!.performSegue(withIdentifier: "toScoreSegue1", sender: self)
一切都应该可以正常工作,因为我将一个segue从Screen1拖到Screen3,给它标识符" toScoreSegue1"并使用Screen1对象调用它。然而,没有任何反应。
没有错误等。
任何帮助都将受到高度赞赏!
答案 0 :(得分:0)
我发现了一个问题!
错误地,我在错误的ViewController上调用了performSegue。
我不得不在ViewController上调用segue来初始化SKScene视图:
1.Screen1(UIViewController)
2.GameScreen(SKScene) - 有自己的ViewController,应该用它代替Screen1!
3.Screen3(UIViewController)
我真的希望有同样问题的人可能会觉得有帮助。