Я покажу вам мой фактический код. Она состоит из трех элементов: Helper:Утечки с использованием GKStateMachine в подклассе
import SpriteKit
import GameplayKit
class GameSceneHelper: SKScene {
override func didMove(to view: SKView) {
}
}
подкласс хелперов с состояниями некоторых игр:
import SpriteKit
import GameplayKit
class GameScene: GameSceneHelper {
lazy var gameState:GKStateMachine = GKStateMachine(states: [
Introduction(scene: self),
SecondState(scene: self) ])
override func didMove(to view: SKView) {
self.gameState.enter(Introduction.self)
}
}
И государство. Здесь я представляю один из них. Другой имеет ту же структуру:
import SpriteKit
import GameplayKit
class Introduction: GKState {
weak var scene:GameScene?
init(scene:SKScene) {
self.scene = scene as? GameScene
super.init()
}
override func didEnter(from previousState: GKState?) {
print("INSIDE THE Introduction STATE")
}
}
Проблема заключается в том, что я получаю, когда я Течь определить переменную GameState внутри подкласса GameSceneHelper. Но, если я не использую подкласс, и вместо этого я делаю GameScene прямым подклассом SKScene, все работает. Проблема в том, что для моего проекта мне нужен помощник, поэтому я не могу вынести его из уравнения. Есть ли у кого-нибудь предложения?