私は新しいiPhoneアプリケーションを開発していますが、NSUserDefaultsを使用してハイスコアを保存しロードしようとしています。 私の質問は、NSIntegerへのポインタであるhighscorespointer1という変数に保存したハイスコアを割り当てるためにどのコードを使うべきでしょうか? 私は現在、以下のコードを使用しています:NSUserDefaultsを使用してデータを保存し読み込む際に必要なヘルプ
ここで私はハイスコアを保存しています。
-(IBAction)saveData{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setInteger:highscore1 forKey:@"H1"];
[defaults synchronize];
}
そして、ここで私はこの警告を取得highscore.Butをロードしています:「互換性のないポインタ型からの代入」:
highscorepointer1 = [[NSUserDefaults standardUserDefaults] objectForKey:@"H1"];
を使用し、 'objectForKey:'ではなく整数を取得するために 'integerForKey:'を使用します。分単位で、元のポスターはオブジェクトへのポインタをリテラルへのポインタに割り当てようとしています。 – Tommy
ありがとう!私はあなたが言ったことをした、それは魅力のように働いた。私はもう一つ質問があります:私は前にポインタに保存されたデータを割り当てるとき、私はこのコード行を使用することができます: '' if(highscorepointer1 == nil){highscore1 = 0;} 'アプリが初めて実行されたとき。ロードされたデータを整数highscore1に直接割り当てることができるようになりました。 – CherryBrandy
実際には、 'highscore1 = [[NSUserDefaults standardUserDefaults] integerForKey:@" H1 "];'を使用し、まだ設定されていない場合、 'highscore1'は' 0'になります。 – msgambel