MILLEN BOX

音楽好きの元組み込みソフトエンジニアによるプログラミング(主にiOSアプリ開発)の勉強の記録

NSUserDefaultsを使ってゲームのハイスコアを永続化する [swift1.2]

連日の更新恐れ入ります。
小さくこまめに投稿するのは楽しいですね。

昨日は高橋名人もビックリの連打アプリを作成しました。

swiftでタイマー処理がしたい [swift1.2] - MILLEN BOX

これをGameCenter対応しようと思っていましたが、その前にハイスコアの永続化をしなければと思い方針転換しました。
本日のGithubは以下です。

github.com

自分ポイント

データの永続化には色々な方法がありますが、今回の目的 ハイスコアの保存であれば、NSUserDefaultsを使用するのが一番簡単に実現できます。
以下のサイトを参考にしました。Objective Cでの記載でしたが、問題なく理解できました。

suxisuxido.com

swiftで書くとこんな感じです。

let ud = NSUserDefaults.standardUserDefaults()
let udKey = "HIGHSCORE"
let highScore = ud.integerForKey(udKey)     //1. 保存済みのハイスコアを取得
ud.setInteger(highScore, forKey: udKey)     //2. ハイスコアをNSUserDefaultsのインスタンスに保存
ud.synchronize()                                          //3. 保存する情報の反映

上の1,2,3を任意の場所で実行する感じです。

「データの永続化」というキーワードだけでビビってましたが、ハイスコアを保存するだけであれば、びっくりするくらい簡単でした!