Получить тип пользовательского класса из строки [Swift, Spritekit] - PullRequest
0 голосов
/ 25 июня 2018

У меня есть файл сценария игры, в котором содержатся названия глав и / или названия игр.Я представляю следующую сцену автоматически с помощью этой функции:

func presentScene(from: SKScene, model: SceneModel)
    {
        gamestate.update(scene: model)
        soundboard.pause(fadeDuration: 1)

        switch model.type
        {
        case .game(let name, _, _):
            if let game = SKScene(fileNamed: "GameScene") as? GameScene {
                game.model = model
                from.view?.presentScene(game, transition: SKTransition.fade(withDuration: 0.6))
            }

        case .text(_):
            if let text = SKScene(fileNamed: "TextScene") as? TextScene {
                text.model = model
                from.view?.presentScene(text, transition: SKTransition.fade(withDuration: 0.6))
            }

        case .video(_, _, _):
            if let video = SKScene(fileNamed: "VideoScene") as? VideoScene {
                video.model = model
                from.view?.presentScene(video, transition: SKTransition.fade(withDuration: 0.6))
            }
        }
    }

Итак, мой вопрос таков: могу ли я получить тип пользовательского класса игры, используя строковую переменную?Например,

let nameString = "dakjsdljk"    
if let game = SKScene(fileNamed: nameString) as? nameString {

    } 

или единственный способ сделать это - создать перечисление с типами игр и вручную инициализировать его значения из необработанной строки ??

...