2014-03-02 31 views
3

這可能涉及到這個問題,但它並沒有幫助我很多:我的Mac應用程序的NSUserDefaults從哪裏來?

Where is a Mac Application's NSUserDefaults Data Stored?

當我離開我的應用程序我的設置被寫入到庫/首選項文件夾,然後在其他地方。至少我沒有看到其他東西。我的應用程序也不是沙盒。 每次運行我的應用程序並更改設置時,都會寫入新的設置文件,所以我猜這是真實的,而不是舊的副本。

但是,如果我編輯保存的設置,甚至刪除文件,我的應用程序將重新啓動之前保存的設置。我甚至清空了垃圾。

這些設置從何而來? 我想將我的應用程序重置爲我在代碼中設置的默認設置,但我完全無法這樣做。它總是找到一些設置來加載。

編輯

我使用的代碼來自這個問題: Easy way to see saved NSUserDefaults?

NSArray *path = NSSearchPathForDirectoriesInDomains(
NSLibraryDirectory, NSUserDomainMask, YES); 
NSString *folder = [path objectAtIndex:0]; 
NSLog(@"Your NSUserDefaults are stored in this folder: %@/Preferences", folder); 

它輸出說我的設置是在庫/ Prefrences。所以我再次刪除文件。當我重新啓動應用程序時,它仍然堅持我的設置在那裏。

+0

如果不存在的UserDefaults文件被自動寫入並充滿了類似的窗口位置和such.Yet的東西,因爲裏面似乎有自定義的值,你是否以某種方式初始化用戶默認值? – Volker

回答

0

不要在OS的緩存機制被欺騙,X -
你磁盤上的文件中看到的並不總是應用是看到當前值。

要獲得當前設置,應該使用終端中的defaults命令。
該文檔可以通過鍵入man defaultshere找到。

自己以前沒有嘗試過,但塔伊delete選項聽起來像你正在尋找..什麼

相關問題