Я пытаюсь сохранить SKLabelNode, который является лейблом рекордов, но он не работает.Также пробовал UserDefaults - PullRequest
1 голос
/ 11 июня 2019

Я пытаюсь сохранить высокую рану в виде skabbelnode, используя UserDefaults, но это не работает.Каждый раз, когда я закрываю и открываю приложение, рекорд исчезает.

Я пробовал UserDefaults.

func afterCollision(){

    let highScore = "highScore"
    if gameSettings.highScore < score{
        gameSettings.highScore = score
        let defaults = UserDefaults.standard
        defaults.synchronize()
        defaults.integer(forKey: highScore)
       //I tried using this. 

    }

Я ожидал, что рекорд будет сохранен, но он будет потерян после перезапуска приложения.

1 Ответ

1 голос
/ 11 июня 2019

Ваш код не пытается сохранить что-либо в UserDefaults. Вы читаете значение и игнорируете результат. Вам необходимо установить новое значение.

if gameSettings.highScore < score {
    gameSettings.highScore = score
    UserDefaults.standard.set(score, forKey: "highScore")
}

Когда ваше приложение запускается, вы можете загрузить рекорд:

gameSettings.highScore = UserDefaults.standard.integer(forKey: "highScore")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...