I made a game using the default new game project and then inserted a normal UIView as the app intro scene. I'vs since 'upgraded' the intro into using an SKScene, with buttons that push the original gameViewController onto the stack. It seemed a bit laggy once the gameview was loaded so I'm assuming that's to do with the overhead of having 2 full skscenes and view controllers. I even set the landing scene to pause, but it will obviously still use memory!
My question is, how can I use an SKScene as the landing page (with it's own LandingViewController) and then efficiently add the GameViewController to the stack. I've tried merging the 2 view controllers, but this seems like a stupid way of doing things.
Current setup:
LandingViewController
|-LandingScene
GameViewController
|- GameViewScene
|- Other Game Classes
App enters at LandingViewController which inits the LandingScene (and landing UI Sprites). LandingViewController handles the touch events like buttons etc. When new game is tapped, GameViewController is pushed (currently using a Segue) and GameViewController inits it's scene, gamestate, UI, game board etc. GameViewController handles it's touch events for it's scene. When a game ends (click end game or game over state) the GameViewController is popped.
Both LandingViewController and GameViewController control the flow of their animations and clicks etc, so GameViewController does the game logic, like next turn end game etc. Any help or pointers would be appreciated as I would like to do this right!