2013-11-09 135 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"]; 

對象這只是一些指導,我認爲會幫助:)