Scenario in my game:
main menu -> game setup menu -> core game scene -> game menu (load/save/quit) -> core game scene -> game menu (here stuff stops working).
Each segment is it's own SKScene and presented from one to other. Game data is stored in static class that can be accessed from all classes.
When I first time start game and come into core game scene, everything is ok. I can open game menu and close it again (returning to core game scene). But when I wish to open game menu scene again it does not fire didMoveToView function and nothing happens.
I have made all transitions between scenes with the same principle and going from main menu scene to game setup and back works normaly, I can do it multiple times. Even tried without transition, but something isn't working well here... Seems I can't find solution here 😟
Considering your needs, check the PauseScene class in this link : http://stackoverflow.com/questions/20507790/spritekit-return-to-a-persistent-scene-in-the-same-state-it-was-left-in
It keeps a reference to the previous scene so you can actually go back, which is exactly what you wanted originally I think.