2017-05-03 5 views
0

La structure de mon story-board:Segue de SKScene à UIViewController ne fonctionne pas

1.Screen1 (UIViewController)

2.GameScreen (SKScene)

3.Screen3 (UIViewController)

Je passe objet auto UIViewController de Screen1

//Screen1 class 

@IBAction func onStartButtonClicked(_ sender: Any) { 
    Values.viewController = self 
} 

à GameScreen, lors d'un Segue:

//GameScreen class 

struct Values { 
    static var viewController: UIViewController! 
} 

class GameScreen: SKScene {...} 

Ma tâche est de faire un Segue de GameScreen à Screen3 en utilisant l'objet de Screen1, qui a été passé à l'étape précédente:

Values.viewController!.performSegue(withIdentifier: "toScoreSegue1", sender: self) 

Tout devrait fonctionner bien, puisque j'ai traîné un segue de Screen1 à Screen3, lui a donné l'identifiant "toScoreSegue1" et l'appelant en utilisant l'objet Screen1. Cependant, rien ne se passe.

Il n'y a pas d'erreur, etc.

Toute aide serait très appréciée!

Répondre

0

J'ai trouvé un problème! Par erreur, j'ai appelé performSegue sur le mauvais ViewController.

je devais appeler Segue sur ViewController qui a initialisé vue SKScene:

1.Screen1 (UIViewController)

2.GameScreen (SKScene) - a son propre ViewController, qui devrait être utilisé au lieu de Screen1!

3.Screen3 (UIViewController)

J'espère vraiment que quelqu'un avec même problème peut être utile.