Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何检查是否存在NSUserDefaults_Iphone_Objective C_Nsuserdefaults - Fatal编程技术网

Iphone 如何检查是否存在NSUserDefaults

Iphone 如何检查是否存在NSUserDefaults,iphone,objective-c,nsuserdefaults,Iphone,Objective C,Nsuserdefaults,我一直在寻找答案,但没有真正找到我想要的 我有一个应用程序,正在使用NSUserDefaults存储“currentGameStatus”,并想问以下问题: 如何检查NSUserDefaults.plist是否存在?需要这个来确定我是否需要第一次创建它,如果需要,用默认值填充它 在我的Mac(运行模拟器)上哪里可以找到它?是否需要删除它以测试第一次运行是否有效 默认情况下,NSUserDefaults已存在。您可以通过[[NSUserDefaults standardUserDefaults]s

我一直在寻找答案,但没有真正找到我想要的

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

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

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

  • 默认情况下,NSUserDefaults已存在。您可以通过
    [[NSUserDefaults standardUserDefaults]setObject:@“object”forKey:@“key”添加到它

  • 您可以在这里找到NSUserDefaults.plist


  • 我这样做的方式是在
    NSUserDefaults
    中设置
    BOOL
    标志,如果它不存在:

    if(![[NSUserDefaults standardUserDefaults] boolForKey:@"firstRun"]) {
       //do initialization stuff here...
    
       [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"firstRun"];
    }
    
    你不检查

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

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

    每次应用程序启动时,您都会执行此操作

    关于你的第二个问题,请看现有的问题/答案。哇,我不敢相信我错过了+如果稍后我将第一次运行设置为false,该怎么办?它仍然会进入if语句并设置回YES