くまちゃんのiOS/Androidゲームプログラミング

マイペースでゲームつくってます。

ハイスコアなど変数の記録 NSUserDefaults 【Xcode5, iOS7】

アプリを終了しても、次回呼び出すときにまた読み込みたい数値を保存したい時に。
とってもとっても便利。
準備もいらずたった4行でOK。
以下はハイスコアを保存するサンプル

xxxView.m

-(id)initWithCoder:(NSCoder*)coder {
// 略
        // ハイスコアの準備
        highscore=0;
        // 呼び出し
        NSNumber* _highscore=[[NSUserDefaults standardUserDefaults] objectForKey:@"highscore"];
        if (_highscore!=nil) highscore=[_highscore intValue];
// 略
}

- (void)drawRect:(CGRect)rect
{
// 略
        // 保存
        [[NSUserDefaults standardUserDefaults] setObject:@(highscore) forKey:@"highscore"];
        [[NSUserDefaults standardUserDefaults] synchronize];
// 略
}

https://itunes.apple.com/jp/app/kumachanjanpu2/id789138227?mt=8&uo=4&at=10l8JW&ct=hatenablog