4

我遇到了 GKStateMachine 的泄漏问题。我的应用程序是一个非常直接的代码来测试问题。这是游戏场景:

import SpriteKit
import GameplayKit

class GameScene: SKScene {

   lazy var gameState:GKStateMachine = GKStateMachine(states: [Introduction(scene: self)])

   override func didMove(to view: SKView) {

      self.gameState.enter(Introduction.self)
   }
} 

这是我的状态:

import SpriteKit
import GameplayKit

class Introduction: GKState {

   unowned let scene:GameScene

   init(scene:SKScene) {
      self.scene = scene as! GameScene
      super.init()
   }

   override func didEnter(from previousState: GKState?) {
      print("INSIDE THE Introduction STATE")
   }
}

问题是当我运行 Leaks 调试器时,我一进入状态就收到一个泄漏。有人有建议吗?

4

1 回答 1

-1

您可以简化构造函数以避免类型转换。

init(scene: GameScene) {
  self.scene = scene
  super.init()
}
于 2017-01-10T21:42:35.013 回答