presentScene вызывает неправильное представление для загрузки

У меня есть один viewController под названием NeighborhoodViewController. Он загружает сцену в viewController, который называется NeighborhoodScene.sks. Это работает абсолютно нормально. Я установил переход от определенного узла в сцене через NeighborhoodViewController. Эти две функции управляют этим:

func createSegue(title: String) {
    performSegueWithIdentifier(title, sender: self)
}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if let viewController: SearchViewController = segue.destinationViewController as? SearchViewController {
        viewController.sceneName = "game_1_1"
    }
}

Это все отлично работает. Segue называется. Segue предназначен для запуска другого VC под названием SearchViewController, который должен вызывать свою собственную сцену, SearchScene1.sks.

Вот код для этого:

import UIKit
import SpriteKit

class SearchViewController: UIViewController {
var sceneName: String?
var chosenScene: GameScene?

override func viewDidLoad() {
    super.viewDidLoad()

    if sceneName == "game_1_1" {
        chosenScene = GameScene(fileNamed: "SearchScene1")
    } // TODO: add the rest of the presented scenes here

    if let scene = chosenScene {
        // Configure the view.
        let skView = self.view as! SKView
        skView.showsPhysics = true
        skView.showsFPS = true
        skView.showsNodeCount = true

        /* Sprite Kit applies additional optimizations to improve rendering performance */
        skView.ignoresSiblingOrder = false

        /* Set the scale mode to scale to fit the window */
        scene.scaleMode = .AspectFill
        scene.viewController = self
        skView.presentScene(chosenScene)
    }
}
}

Если я распечатаю идентификатор восстановления для skView, он относится к представлению в SearchViewController, что идеально. Кажется, все работает нормально до тех пор, пока skView.presentScene(selectedScene) в какой-то момент случайно не установит NeighborhoodViewController? Как сделать так, чтобы он вызывал SearchViewController и связанную с ним сцену sks - SearchScene1?

1 ответ

Segue используется для того, чтобы сначала принести nextviewcontroller.

Другие вопросы по тегам