2010-10-17 61 views
1

在我的遊戲中,我想保存一組整數作爲統計玩家可以查看。例如死亡人數。每次遊戲結束時,我都會簡單地增加一個。保存一組整數iPhone

當我重新啓動遊戲時,我該如何保存這個數字然後讓它保持在這個數字?

謝謝。

編輯:

好讀幾個答案即時通訊思想寫入的plist之後是前進的方向。我一直在看教程,但讓我說我試試這個:

scoreData *score = [scoreData sharedData]; 
[dictionary setValue:score.highScore forKey:@"key2"]; 
[dictionary writeToFile:@"stats.plist" atomically:NO]; 

我已經訪問我的單身人士與我的分數裏面。現在當試圖設置值時,我得到一個錯誤,說我試圖將int轉換爲對象。

我不知道如何接近它。這似乎很簡單,但無論在哪裏,我看起來似乎都給出了基本相同的方法。

感謝您的幫助到目前爲止,不勝感激。

回答

0

的Try ...

[[NSUserDefaults standardUserDefaults] setInteger:highScore forKey:@"HighScore"]; 
highScore = [[NSUserDefaults standardUserDefaults] integerForKey:@"HighScore"]; 
+1

你的代碼的第一行是錯誤的。 '-setValue:forKey:'不存在。你反而需要'-setInteger:forKey:'。 – jer 2010-10-17 14:56:54

+0

@Jer試圖從記憶中做到這一點。固定。 SO obj-c驗證器將是一個很好的補充。謝謝 ;) – Jordan 2010-10-17 15:05:38

0

您可以寫入一個文件(即純C函數fopen()等),可以使用自己的類並使用NS(Keyed)Archiver或使用NSUserDefaults來保存數據。

+0

這些替代方案中,NSUserDefaults似乎最合適。 – 2010-10-17 14:07:36

1

任何數量的很多方法。

如果你只是保存這個,也許是其他一些簡單的事情,使用用戶默認值可能是最好的主意。

但是,如果您節省的物品不僅僅是少數,您可能需要使用自己的物業清單(如果物品數量少於200個)。

如果你有很多設置,我通常建議人們去看看Core Data。它有很多的項目,而其他兩個,而不是很多。

+0

屬性列表文件也是一個不錯的主意。核心數據只是一些整數是非常雄心勃勃的,雖然:) – Eiko 2010-10-17 14:10:08

+0

是的,但我不知道他是否有其他事情發生在引擎蓋下,或者他可能想要保存什麼。不妨把它放在桌子上,讓他決定哪一個適合他的情況。 :) – jer 2010-10-17 14:26:09

2

我不會NSUserDefaults的濫用(氣餒蘋果這在今年WWDC)。相反,爲什麼不簡單地創建一個NSMutableDictionary,然後在其中存儲NSNumber對象。 MutableDictionary可以很容易地寫入文件,並且可以很容易讀入。