2010-07-13 78 views
0

在設備上存儲plist的正確文件路徑是什麼?在設備上存儲plist的正確文件位置

我在一個教程

這將爲電腦前工作的閱讀,想了解該設備的文件位置。

// write xml representation of dictionary to a file 
[dictionary writeToFile:@"/Users/henrik/Sites/foo.plist" atomically:NO]; 

我現在試着寫,我從

NSString *filepath = [[NSBundle mainBundle] 
         pathForResource:@"UserAdded" ofType:@"plist"]; 
userAddedQuotes = [[NSMutableArray alloc] initWithContentsOfFile:filepath]; 

讀取文件路徑如下

[userAddedQuotes addObject:temp]; 
    [userAddedQuotes writeToFile:filepath atomically: NO]; 

的數組被在運行時更新,但犯規得到保存到的plist 。

回答

4

您無法寫入應用程序包內的任何文件(包括您的資源目錄)。如果你想寫一個文件,你應該把它寫入你的應用程序文檔或庫文件夾,這取決於文件是什麼。例如:

NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

將返回一個路徑數組,其中第一個是您的文檔目錄。

+0

太好了。我如何寫入路徑?我之前很想知道這個文件,但我還沒有存檔,我該如何在該位置創建一個plist?問候 – jarryd 2010-07-13 14:30:57

+0

你只需寫信給它。上述代碼對於寫入文件是正確的,問題在於您正在嘗試寫入只讀文件。把它指向一個可寫的位置(比如我提到的那個),你應該沒問題。 可能值得注意的是,從iOS 4和Snow Leopard開始,最好使用基於URL的方法(writeToURL :)和NSURL,但這不是必需的。 – 2010-07-13 14:46:52

+0

好的。我現在正確地設置它,但是當試圖寫入它時,應用程序崩潰,沒有錯誤。我認爲這是因爲文檔目錄中沒有文件。如何從代碼中創建?還是有一個地方的文件可以放在Xcode項目?問候 – jarryd 2010-07-13 19:33:48

相關問題