2013-11-09 138 views
0

我正在研究一款Pong游戏以倾斜一些iPhone编程。存储和检索高分

我有一个NSString * playerName和int playerScore。

我在游戏结束时得到这个。

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

我只打算存储分数,如果它是前10名的高分。 如果用户的名字已经在列表中并且分数值得添加(例如> 10分),则分数被更新并且列表被分数赋予。

我来自C++世界。

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

但我想知道的是,这是如何在Obj-C中完成的。有没有什么课程可以让这类任务简单方便?

感谢

+0

HM ..甚至我想知道是否有一个班让这个任务变得简单,但是当我这样做时,我用了一个plist文件来读/写。 – staticVoidMan

回答

1

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

0

试试这个

创建NSMutableArray将存储用户的分数。 每次游戏结束时,都会在NSMutableArray中查找具有最高值10的分数。 那家商店使用NSUserDefaults

NSUserDefaultsPlayerNameHighestScores后,将让您保存在用户的设备

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

对象这只是一些指导,我认为会帮助:)