0

私はいくつかの iPhone プログラミングを学ぶために Pong ゲームに取り組んでいます。

私は NSString* playerName と int playerScore を持っています。

ゲームが終わったらこれを取得します。

次に、ハイスコアをユーザーのデバイスに保存する方法が必要です。ただし、注意点がいくつかあります。

トップ10のハイスコアである場合にのみ、スコアを保存するのに苦労します。また、ユーザーの名前がす​​でにリストにあり、スコアを追加する価値がある場合 (例: > 10 番目のスコア)、スコアが更新され、リストはスコアによって並べ替えられます。

私はC++の世界から来ました。

C++ では、単純なファイルを使用して解析し、メモリ内で作業してから、ファイルを書き換えます。

私が知りたいのは、これを Obj-C でどのように行うべきかということです。この種のタスクを簡単かつ便利にするクラスまたは何かはありますか?

ありがとう

4

2 に答える 2

1

辞書にスコア ( として) と名前が含まれているインスタンスを使用するだけNSArrayです。次に、 と を使用して、これを (プロパティ リストとして) ディスクに直接読み書きできます。NSDictionaryNSNumberinitWithContentsOfFile:writeToFile:atomically:

于 2013-11-09T20:59:03.800 に答える
0

これを試して

NSMutableArrayユーザースコアを保存する を作成します。ゲームが終了するたびに、NSMutableArray最も高い 10 の値を持つスコアを見つけます。その後、両方を保存しPlayerNameHighestScores使用するNSUserDefaults

NSUserDefaultsユーザーのデバイスにオブジェクトを保存できるようになります

NSString *PlayerName;
int PlayerScore;


//SAVING

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];

// saving an NSString
[prefs setObject:PlayerName forKey:@"name"];

// saving an NSInteger
[prefs setInteger:PlayerScore forKey:@"score"];

//GETTING

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];

// getting an NSString
NSString *myString = [prefs stringForKey:@"name"];

// getting an NSInteger
int myInt = [prefs integerForKey:@"score"];

これは私が役立つと思うガイドです:)

于 2013-11-10T17:15:45.687 に答える