int
と呼ばれる値があり、score
これを電話のメモリに保存して、ゲームを閉じて再度開いても削除されないハイスコアになるようにします。
誰かがこれを行う方法を提案できますか?
を使用しNSUserDefaults
ます。
保存する:
int score = 12345;
[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInt:score] forKey:@"HIGHSCORE"];
ロードするには:
int score = [[[NSUserDefaults standardUserDefaults] objectForKey:@"HIGHSCORE"] integerValue];
アップルのドキュメントを読む必要がありますNSUserDefaults
NSUserDefaultsおよびPreferencesandSettingsプログラミングガイドを参照してください
[[NSUserDefaults standardUserDefaults] setInteger: score forKey: @"Score"]
私の見解では、最高のスコアを保存する簡単な方法は、スコアを文字列値として保存し、必要なときにそれを呼び戻すことです。
//this example assume that high score is in text
NSString *SaveHighScore = HighScore.text;
NSUserDefaults *defaultsHighScore = [NSUserDefaults standardUserDefaults];
[defaultsHighScore setObject:SaveHighScore forKey:@"savedHighScore"];
[defaultsHighScore synchronize];
そして思い出す
NSUserDefaults *defaultsHighScore = [NSUserDefaults standardUserDefaults];
NSString *loadHighScore = [defaultsHighScore objectForKey:@"savedHighScore"];
[HighScore setText :loadHighScore];