Как использовать NSUserDefaults для сохранения и возврата данных

func gameDidBegin(tetro: Tetro) {
    levelLabel.text = "(tetro.level)"
    scoreLabel.text = "(tetro.score)"

    //hiscoreLabel.text = "(tetro.score)"

    var userDefaults = NSUserDefaults.standardUserDefaults()

    var score: Int = 0 `enter code here`{
        didSet {
            hiscoreLabel = (self.scoreLabel.text = "(tetro.score)")
        }
    }

    scene.tickLengthMillis = TickLengthLevelOne

    // The following is false when restarting a new game
    if tetro.nextShape != nil && tetro.nextShape!.blocks[0].sprite == nil {
        scene.addPreviewShapeToScene(tetro.nextShape!) {
            self.nextShape()
        }
    } else {
        nextShape()
    }
}

Я был бы признателен, если бы я мог получить некоторые указания о том, как сохранить scoreLabel.текст и поместите его на отдельный @IBOutlet с именем hiscoreLabel, используя NSUserDefaults для хранения данных.

В принципе, я хочу использовать NSUserDefaults и постоянно обновлять самый высокий hiscore с самыми высокими ранее полученными баллами.

1 ответ

  1. Запись данных:

    let prefs = NSUserDefaults.standardUserDefaults()
    prefs.setDouble(1.0, forKey: "bar")

    // iOS 7 и ниже

    prefs.synchronize()

    Чтение данных:

    let prefs = NSUserDefaults.standardUserDefaults()
    prefs.doubleForKey("bar")

    Удалить данные:

    let prefs = NSUserDefaults.standardUserDefaults()
    prefs.removeObjectForKey("bar")

    // iOS 7 и ниже

    prefs.synchronize()