2012-06-30 45 views
0

我有一個名爲playerData的plist文件,其中包含索引爲0的數字對象,指示已完成的最高級別。加載視圖後,我讀取了整個遊戲邏輯中使用的該對象的整數值。如果玩家贏得比賽,我想增加這個數字並將其寫入plist文件。這裏是代碼我有(包含在if語句)通過writeToFile將NSMutable數組寫入plist文件

levelNumber++; 
NSNumber *levelNSNum = [[NSNumber alloc] initWithInteger:levelNumber]; 
[playerData replaceObjectAtIndex:0 withObject:levelNSNum]; 
[playerData writeToFile:[[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"PlayerData.plist"] atomically:YES]; 
NSLog(@"%i should be written to file", levelNumber); 

日誌的作品,所以我知道的情況if語句已經滿足和價值是不一樣的,這就是一個以前在plist文件,但由於某種原因,這些數據並未被寫入該數據。

我對此比較陌生,所以我可能會犯一個簡單而愚蠢的錯誤,我似乎無法追查答案。感謝您的幫助!

+0

可能的重複: pasawaya

回答

1

您正在嘗試寫入您的軟件包,該軟件包在應用程序安裝後爲只讀。您應該在應用程序沙箱中的某處寫信,例如在您的Library/Application Support目錄中。 (您可以使用帶有NSApplicationSupportDirectory的- [NSFileManager URLsForDirectory:inDomains:]來查找此路徑;請務必在嘗試寫入該目錄之前創建該目錄。)

+0

非常感謝你,我認爲這件事很簡單,但正如我所說的,這對我來說真的很新鮮。再次感謝您的快速和有益的迴應。 – Nairb555