2013-11-09 3 views
0

Я работаю над игрой в понг, чтобы опереться на некоторые программы для iPhone.Хранение и получение рекордов

У меня есть NSString * playerName и int playerScore.

Получаю это, когда игра окончена.

Теперь мне нужен способ хранения высоких баллов на устройстве пользователя. Однако есть пара предостережений.

Я только забочусь о том, чтобы хранить счет, если он является топ-10 баллов. И если имя пользователя уже находится в списке, и оценка стоит добавить (например,> 10-й балл), оценка обновляется, и список прибегает к результату.

Я иду из мира С ++.

В C++ я бы использовал простой файл, который я бы проанализировал, работаю в памяти, а затем перепишу файл.

Что бы я хотел знать, так это то, как это должно быть сделано в Obj-C. Есть ли класс или что-то такое, что делает эту задачу простой и удобной?

Благодаря

+0

гм .. даже я хотел бы знать, есть ли класс, чтобы сделать эту задачу простой, но когда я это сделал, я использовал файл plist, к которому я читал/писал. – staticVoidMan

ответ

1

Просто используйте NSArrayNSDictionary из случаев, когда словари содержат свои результаты (как NSNumber ы) и имена. Затем вы можете напрямую прочитать и записать это на диск (как список свойств) с помощью initWithContentsOfFile: и writeToFile:atomically:.

0

Попробуйте

создать NSMutableArray, который будет хранить оценки пользователей. Каждый раз, когда игра заканчивается, найдите счет в NSMutableArray, который имеет 10 самых высоких значений. После этого магазина как PlayerName и HighestScores использованием 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"]; 

Это лишь некоторые руководство я думаю, что поможет :)

Смежные вопросы