从SKScene到UIViewController的猜测并不起作用

时间:2017-05-03 02:33:57

标签: ios swift xcode segue skview

我的故事板结构:

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对象调用它。然而,没有任何反应。

没有错误等。

任何帮助都将受到高度赞赏!

1 个答案:

答案 0 :(得分:0)

我发现了一个问题!

错误地,我在错误的ViewController上调用了performSegue。

我不得不在ViewController上调用segue来初始化SKScene视图:

1.Screen1(UIViewController)

2.GameScreen(SKScene) - 有自己的ViewController,应该用它代替Screen1!

3.Screen3(UIViewController)

我真的希望有同样问题的人可能会觉得有帮助。