-2

NSUserDefaultsを使用してスコアを保存していますが、(マルチタスクで)アプリを強制終了して再度開くと、NSUserDefaultsはスコアを保存しません。NSUserDefaultsに関連するすべてのコードは次のとおりです。

スコア=[NSUserDefaultsstandardUserDefaults];

[スコアsetInteger:currentHighScore forKey:@ "currentHighScore"];

-(void)checkHighScore {

int checkHighScore = [scores integerForKey:@"currentHighScore"];

if(finalScore >= checkHighScore){
    currentHighScore = finalScore;
    [scores setInteger: currentHighScore forKey: @"currentHighScore"];
} 

}

次に、デススクリーンの更新メソッドでチェックハイスコアを呼び出します。私はこれを間違って使用していますか、それともこれはグリッチですか?

ありがとう!

4

1 に答える 1

2

ここで、これを NSUserDefaults の保存データの最後に保存するには、この行を書くだけです

scores = [NSUserDefaults standardUserDefaults];

[scores setInteger: currentHighScore forKey:@"currentHighScore"];
[scores synchronize]; /// just add this line

私はこれがあなたを助けることを願っています:)

于 2012-08-21T05:28:29.090 に答える