В моем файле GameScene.swift, я пытаюсь выполнить переход назад к моему меню View Controller, как так:Segue в SKScene к UIViewController
func returnToMainMenu(){
var vc: UIViewController = UIViewController()
vc = self.view!.window!.rootViewController!
vc.performSegueWithIdentifier("menu", sender: vc)
}
Этот метод запускается, когда узел сливают:
override func touchesEnded(touches: NSSet, withEvent event: UIEvent) {
for touch: AnyObject in touches {
let location = touch.locationInNode(self)
if gameOn == false{
if restartBack.containsPoint(location){
self.restartGame()
}
else if menuBack.containsPoint(location){
self.returnToMainMenu()
}
else if justBegin == true{
self.restartGame()
}
}
}
}
Адрес menuBack
- это кнопка обратно в меню. Каждый раз, когда я запускаю этот код, я бросил NSException:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<ProxyBlock.Menu: 0x165a3e90>) has no segue with identifier 'menu''
я проверил идентификатор моего SEGUE, и это было действительно «меню».
переход используется для перехода от одного ViewController к другому, а не от одной сцены к ViewController – ZeMoon
Вы должны вызвать SEGUE от ViewController сцены, вместо корня ViewController. – ZeMoon