2016-06-26 6 views
0

このコードはviewDidLoad関数にあります。それが初めてだといいです。しかし、私は同じストーリーボードファイルからその上にサブビューを表示し、 'skView = gameViewをlet! SKView 'が再び呼び出され、致命的なエラーがスローされます。Found nil ...他の時間に呼び出されないようにするにはどうしたらいいですか?私は代わりにできるチェックは考えられません。(Swift SpriteKit)SKSceneを1回だけ提示できるようにします

if let scene = GameScene(fileNamed:"GameScene") { 
     // Configure the view. 

     let skView = gameView as! SKView 
     skView.showsFPS = true 
     skView.showsNodeCount = true 

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

     /* Set the scale mode to scale to fit the window */ 
     scene.scaleMode = .AspectFill 

     skView.presentScene(scene) 

    } 

答えて

0
override func viewWillLayoutSubviews() { 
     super.viewWillLayoutSubviews() 
     let skView = self.view as! SKView 
     if skView.scene == nil { 
      if let scene = GameScene(fileNamed:"GameScene") { 
       skView.presentScene(scene) 
      } 
     } 
}