1


1

整数のセットをiPhoneに保存する

私のゲームでは、プレイヤーが見ることができるように整数のセットを保存したいです。 例:死亡者数。 これは、ゲームオーバーになるたびに1ずつ増加するintです。

これを保存して、ゲームを再起動するときにその番号で保存するにはどうすればよいですか?

ありがとう。

編集:

いくつかの答えを読んだ後、OK。plistへの書き込みが進むと思います。 私はチュートリアルを見てきましたが、これを試してみましょう:

scoreData *score = [scoreData sharedData];
[dictionary setValue:score.highScore forKey:@"key2"];
[dictionary writeToFile:@"stats.plist" atomically:NO];

スコアを中に入れてシングルトンにアクセスしました。 これで、setValueを試みると、Imがintをオブジェクトに変換しようとしているというエラーが表示されます。

他にどのようにアプローチするかわからない。 それは十分に単純なように見えますが、私が見ているどこでも本質的に同じアプローチを与えているようです。

これまでの支援に感謝し、もう感謝しています。

4 Answer


2


NSUserDefaultsを乱用することはありません(アップルは今年のWWDCでこれを推奨しませんでした)。 代わりに、単にNSMutableDictionaryを作成してから、NSNumberオブジェクトをその中に保存してください。 MutableDictionaryはファイルに簡単に書き込むことができ、簡単に読み込むことができます。


1


さまざまな方法があります。

これを保存するだけで、他のいくつかの簡単なものを保存する場合は、おそらくユーザーのデフォルトを使用するのが最善のアイデアです。

ただし、いくつかのアイテムよりも多くのアイテムを保存する場合は、独自のプロパティリストを使用することもできます(アイテムの数が200未満の場合)。

多くの設定がある場合は、代わりにコアデータを確認することをお勧めします。 他の2つはそれほど多くありませんが、多くのアイテムでは高速です。


0


ファイルに書き込むことができます(つまり、 プレーンなC関数(fopen())など)、独自のクラスを使用してNS(Keyed)Archiverを使用するか、NSUserDefaultsを使用してデータを保存できます。


0


試してみる

[[NSUserDefaults standardUserDefaults] setInteger:highScore forKey:@"HighScore"];
highScore = [[NSUserDefaults standardUserDefaults] integerForKey:@"HighScore"];