存储和检索高分

时间:2013-11-09 20:26:54

标签: ios iphone objective-c

我正在开发一款Pong游戏来倾斜一些iPhone编程。

我有一个NSString * playerName和int playerScore。

我在比赛结束时得到这个。

现在我需要一种在用户设备上存储高分的方法。 但是有一些警告。

如果它是前10名的高分,我只会费心去存储分数。 如果用户的名字已经在列表中并且分数值得添加(例如> 10分),则更新分数并按分数对列表进行处理。

我来自C ++世界。

在C ++中,我会使用一个简单的文件来解析,在内存中工作,然后重写文件。

我想知道的是,这应该如何在Obj-C中完成。有没有一个类或什么使这类任务简单方便?

由于

2 个答案:

答案 0 :(得分:1)

只需使用NSArrayNSDictionary个字典,其中字典包含您的分数(NSNumber s)和名称。然后,您可以使用initWithContentsOfFile:writeToFile:atomically:直接读取并将其写入磁盘(作为属性列表)。

答案 1 :(得分:0)

试试这个

创建一个用于存储用户分数的NSMutableArray。 每次游戏结束时,都会在NSMutableArray中找到具有10个最高值的分数。 之后使用PlayerName

存储HighestScoresNSUserDefaults

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"];

这只是我认为会有所帮助的一些指南:)