2012-08-08 57 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文档。这可以让你有默认值,直到用户改变他们,然后他们没有效果。