こんにちは

SwiftでiPhoneアプリを開発しています。

Segueを使ってUIKit用のViewControllerと
SpriteKit用のGameViewControllerとを行き来できるようにしたのですが
iPhoneシミュレーターで実行すると、デバッグナビゲーターのメモリが
画面を切り替えるごとに30Mずつ増加して頭を抱えています。
やりたいことは実現できたのに、悔しいです。
もしよければお知恵をお貸しください。

環境
OSX 10.9.5
Xcode.6.1.1

  1. New -> Project -> Gameを選択
  2. New -> File -> Swift File -> FirstViewController.swiftを作成
  3. ライブラリよりViewControllerをストリーボードにドラッグし、Custom ClassでFirstViewControllerを設定
  4. 矢印をFirstViewControllerにする
  5. storyboardからFirstViewControllerを選択し、GameViewControllerにsegue接続。segueのidentifierにtoGameとつける
  6. storyboard上のGameViewControllerを選択し、自らのExitに接続。identifierにbackとつける

各ファイルの抜粋は以下の通りです

class FirstViewController: UIViewController {
    @IBAction func returnMenu(segue: UIStoryboardSegue) {
        println("Welcome back!")
    }

    override func touchesEnded(touches: NSSet, withEvent event: UIEvent) {
        performSegueWithIdentifier("toGame", sender: nil)
    }
}


class GameViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene {
            scene.viewController = self
            skView.presentScene(scene)
        }
    }
}

class GameScene: SKScene {

    var viewController: UIViewController?

    override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
        for touch: AnyObject in touches {
        self.viewController?.performSegueWithIdentifier("back", sender: nil)
    }
}

どうぞ是非よろしくお願いします。