2012-08-08 60 views
0

我在NSUserDefaults中保存了一些用戶設置。如果這些設置沒有被用戶修改,我希望應用程序使用預設。NSUserDefaults intitial設置

我應該如何設置,以便應用程序首先檢查設置是否已被修改,如果沒有,請設置預設?

檢查[[NSUserDefaults standardDefaults]objectForKey: @"setting1"] == nil?然後設置一個預設,如果它不是?

回答

4
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionary]; 

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/Reference/Reference.html#//apple_ref/doc/uid/20000318-CIHDDCDB

呼叫,從您的applicationDidFinishLaunchingWithOptions:方法,設置了您可能需要的任何默認值。

+0

+1 @Alex你可以舉一個例子,如何在代碼的其他地方使用默認值? – msk 2012-08-08 18:21:49

+0

@MSK嗯,好吧,您可以在任何地方以相同的方式使用它......它只是在您的應用程序啓動代碼中最有意義。所有這些方法都會在內存中設置一些值,以便在您查找的密鑰不存在任何值時使用。 – 2012-08-08 18:33:38

+0

謝謝,明白了。我沒有意識到這一點。 – msk 2012-08-08 18:37:33

0

查看registerDefaults的NSUserDefaults文檔。這可以讓你有默認值,直到用戶改變他們,然後他們沒有效果。