如何检查NSUserDefaults是否存在

时间:2011-01-23 15:47:27

标签: iphone objective-c nsuserdefaults

我一直在寻找答案,但并没有真正找到我要找的东西。

我有一个应用程序,正在使用NSUserDefaults存储'currentGameStatus',并想问下列问题:

  1. 如何检查NSUserDefaults .plist是否存在?需要这个以确定我是否需要第一次创建它,如果是这样,请用默认值填充

  2. 我在哪里可以找到它(运行模拟器)?是否需要删除它以测试第一次运行是否有效?

3 个答案:

答案 0 :(得分:22)

你不检查。

您注册了默认值。如果您尚未保存值,则将使用默认值。

NSDictionary *defaultUserDefaults = [NSDictionary dictionaryWithObjectsAndKeys:
                                     [NSNumber numberWithBool:NO], @"Foo",
                                     @"Bar", @"Baz",
                                     [NSNumber numberWithInteger:12], @"FooBar",
                                     nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:defaultUserDefaults];

您可以在每次时启动应用。

答案 1 :(得分:11)

我这样做的方法是在BOOL中设置一个NSUserDefaults标志,如果它还不存在的话:

if(![[NSUserDefaults standardUserDefaults] boolForKey:@"firstRun"]) {
   //do initialization stuff here...

   [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"firstRun"];
}

答案 2 :(得分:1)

  1. 默认情况下,NSUserDefaults已存在。您可以按[[NSUserDefaults standardUserDefaults] setObject:@"object" forKey:@"key"];

  2. 添加
  3. 您可以在此处找到NSUserDefaults .plist alt text