内存泄漏 – 在GameplayKit中使用GKStateMachine泄漏

前端之家收集整理的这篇文章主要介绍了内存泄漏 – 在GameplayKit中使用GKStateMachine泄漏前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有GKStateMachine的泄漏问题.
我的应用程序是一个非常直接的代码来测试问题.这是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()
}

猜你在找的iOS相关文章