2011-07-27 49 views
1

我正在寫一個字益智遊戲。我想要一個plist文件,以便跟蹤我的謎題的用戶解決方案。換句話說,我想在用戶完成或暫停一個級別時保存數據。編輯plist詞典中的鍵?

遊戲由5個類別(共100個等級)中的20個等級組成。當用戶開始遊戲時,問題從plist加載。目標基本上是解讀信息,我希望他們能夠在以後回到起點層面。然後他們的解決方案必須存儲在某種可編輯(可變的)數組中。

我是相當新的編碼,我在網上查找,但沒有找到任何答案。我只是不知道如何實現它。

我的問題:如果我創建一個文件的.plist來存儲用戶的解決方案(與每個類別5個陣列按鍵,具有一組20個空字符串值的每個陣列)是可以用來編輯條目,從用戶播放級別?

回答

3

這是很容易使用的方法,以一個NSDictionary或NSArray中寫入的.plist文件

- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)flag 

那麼,爲什麼從plist中你的狀態信息不加載到一個數組,每個包含一個NSMutableDictionary與用戶的答案。然後,當用戶設置一個新的答案時,爲該問題鍵設置一個新的對象。完成後,使用上述方法將父級NSArray寫入文件 - 瞧。

編輯 - NSArray會在這種情況下更好地工作

+0

我認爲這是有道理的。國家信息是什麼意思?現有的關於我舊plist級別的信息?謝謝你的好回答 – bkbeachlabs

+1

正確。因此,您可以將文件中的信息加載到內存中(以NSDictionarys的NSArray形式),然後在需要時覆蓋該文件。您可能需要經常保存,否則請確保您的應用程序因內存而終止,或者更糟糕的是,崩潰。 – Alex