我有GKStateMachine的泄漏问题.
我的应用程序是一个非常直接的代码来测试问题.这是GameScene:
我的应用程序是一个非常直接的代码来测试问题.这是GameScene:
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调试器时,我一进入状态就收到一个泄漏.有没有人
有个建议吗?
解决方法
您可以简化构造函数以避免类型转换.
init(scene: GameScene) { self.scene = scene super.init() }