Navegando entre escenas en Sprite Kit?

Digamos que comienzo con una escena initialScene Escena. Esta escena contiene algunos botones. Cuando el usuario pulsa el button A en esta escena, presentaré sceneA . Entonces, mi código se vería así:

 sceneA* scene = [[sceneA alloc] init]; [self.scene.view presentScene: scene]; 

Mi primera pregunta es, cuando se presenta una instancia de sceneA desde initialScene , ¿está astackda sobre la instancia initialScene de initialScene o la reemplaza? ¿La instancia de initialScene se desasigna en la memory cuando se presenta una nueva escena?

Lo pregunto porque sceneA tendrá un button de sceneA que, cuando se toca, devuelve al usuario a la escena inicial. ¿Puedo crear una nueva instancia de initialScene dentro de sceneA y presentarla, o resultará en múltiples instancias de las mismas escenas astackdas una encima de la otra? Básicamente, ¿puedo hacer esto en sceneA ?:

 if(...) { //if user taps back button initialScene* iniScene = [[initialScene alloc] init]; [self.scene.view presentScene: iniScene]; } 

¿O hay una mejor manera de hacer esto? Por favor, avíseme si hay alguna forma de aclarar esto más.

Sprite Kit facilita la transición entre escenas. Puede mantener las escenas de forma persistente o deshacerse de ellas cuando hace una transición entre ellas. En este ejemplo, creas una segunda class de escena para aprender otros comportamientos del juego. Cuando el text "¡Hola, Mundo!" Desaparece de la pantalla, el código crea una nueva escena y transiciones hacia ella. La escena Hello se descarta después de la transición.

Guía de progtwigción del juego Sprite

https://developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/GettingStarted/GettingStarted.html#//apple_ref/doc/uid/TP40013043-CH2-SW10