2

intと呼ばれる値があり、scoreこれを電話のメモリに保存して、ゲームを閉じて再度開いても削除されないハイスコアになるようにします。

誰かがこれを行う方法を提案できますか?

4

3 に答える 3

5

を使用しNSUserDefaultsます。

保存する:

int score = 12345;
[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInt:score] forKey:@"HIGHSCORE"];

ロードするには:

int score = [[[NSUserDefaults standardUserDefaults] objectForKey:@"HIGHSCORE"] integerValue];
于 2012-06-19T14:25:39.073 に答える
2

アップルのドキュメントを読む必要がありますNSUserDefaults

NSUserDefaultsおよびPreferencesandSettingsプログラミングガイドを参照してください

[[NSUserDefaults standardUserDefaults] setInteger: score forKey: @"Score"]
于 2012-06-19T14:25:00.103 に答える
0

私の見解では、最高のスコアを保存する簡単な方法は、スコアを文字列値として保存し、必要なときにそれを呼び戻すことです。

//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];
于 2012-06-19T15:12:25.313 に答える