我的故事板的结构:
1.Screen1(UIViewController)
2.GameScreen(SKScene)
3.Screen3(UIViewController)
我正在从Screen1传递UIViewController自对象
//Screen1 class
@IBAction func onStartButtonClicked(_ sender: Any) {
Values.viewController = self
}
进行游戏时,转到GameScreen:
//GameScreen class
struct Values {
static var viewController: UIViewController!
}
class GameScreen: SKScene {...}
我的任务是使用Screen1的对象从GameScreen到Screen3进行筛选,该对象已从上一步传递:
Values.viewController!.performSegue(withIdentifier: "toScoreSegue1", sender: self)
一切都应该正常工作,因为我将一个segue从Screen1拖动到Screen3,为其指定了标识符“ toScoreSegue1”,并使用Screen1对象对其进行了调用。但是,没有任何反应。
没有错误等。
任何帮助将不胜感激!
最佳答案
我发现了一个问题!
我错误地在错误的ViewController上调用了performSegue。
我必须在初始化SKScene视图的ViewController上调用segue:
1.Screen1(UIViewController)
2.GameScreen(SKScene)-有自己的ViewController,应该使用它代替Screen1!
3.Screen3(UIViewController)
我真的希望有人遇到同样的问题可能会有所帮助。