如何检查NSUserDefaults是否存在

Pet*_*erK 6 iphone objective-c nsuserdefaults

我一直在寻找答案,但没有找到我想要的东西.

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

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

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

Mat*_*uch 22

你不检查.

你注册你的默认值.如果您尚未保存值,则将使用默认值.

NSDictionary *defaultUserDefaults = [NSDictionary dictionaryWithObjectsAndKeys:
                                     [NSNumber numberWithBool:NO], @"Foo",
                                     @"Bar", @"Baz",
                                     [NSNumber numberWithInteger:12], @"FooBar",
                                     nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:defaultUserDefaults];
Run Code Online (Sandbox Code Playgroud)

并且每次启动应用程序时都会执行此操作.


Jac*_*kin 11

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

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

   [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"firstRun"];
}
Run Code Online (Sandbox Code Playgroud)