2010-09-16 83 views
2

Settings Bundle應該是一個非常簡單的事情,但由於某種原因,我沒有得到它的工作。NSUserDefaults - 爲所有值獲得空值

在我的設置包的Root.plist中,我使用的是PSToggleSwitchSpecifierPSTextFieldSpecifier。它們都有Type,Title,Key和DefaultValue。在iPod Touch的設置(和模擬器)中查看時,它會正確顯示。但我無法檢索值。他們只是回來NULL

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
self.websiteURL = [defaults stringForKey:@"myBaseURL"]; 

我得到它顯示的任何值是,如果我會去到設置和更改值默認值以外的東西的唯一途徑。然後,當我回到應用程序,它會正常工作。我如何設置它,因此它不需要打開設置?

回答

4

嘗試this

爲用戶默認返回nil直到用戶設置它是默認行爲,我想。您需要登錄[defaults registerDefaults:];才能顯示「默認」值。

+0

這對我來說似乎非常愚蠢,但唉,這是蘋果設置的方式。感謝您指點我正確的方向。 http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/UserDefaults/Tasks/UsingDefaults.html%23//apple_ref/doc/uid/20000719-BAJFBAAH – RyanJM 2010-09-16 19:04:04

0

您可以添加默認值的關鍵是你的plist需要的鍵值並將其設置爲任何你喜歡的(只要它符合你的鍵指定的類型)

+0

這是奇怪的事情,我確實在兩者上都有一個DefaultValue。 – RyanJM 2010-09-16 18:24:11

+0

哦,我很抱歉,我必須在這裏回答這部分問題。請參閱@stephens回答:) – 2010-09-16 18:27:25

1

如果有人正在尋找一個解決方案來註冊默認的用戶設置,你可以檢查出here,對我來說真的很好。

+0

真的適合我!非常感謝。 – Samblg 2013-04-05 12:52:22