NSUser默认值更改



我在NSUserDefaults中保存了一个布尔值,如下所示:

[[NSUserDefaults standardUserDefaults]setBool:NO forKey:@"password"];

然后我像这样同步默认值:

[[NSUserDefaults standardUserDefaults]synchronize];

但是当我的应用程序进入后台然后进入前台时,我的布尔值将值更改为YES

为什么会这样?我将布尔值设置为仅在程序中的一个位置YES,这不会管理我的应用程序何时离开/进入前台。

谢谢!

只需执行一个简单的测试,您将布尔值保存为

[[NSUserDefaults standardUserDefaults]setBool:NO forKey:@"password"];
[[NSUserDefaults standardUserDefaults]synchronize];
NSLog(@"%d",[[NSUserDefaults standardUserDefaults] boolForKey:@"password"]);

看看有什么价值..

您的检索代码应如下所示。

if(![[NSUserDefaults standardUserDefaults] boolForKey:@"password"]) {
    //False
} else {
    //True
}

在检索布尔值时,请确保具有正确的键字符串(@"password"在这种情况下)。它区分大小写。

[[NSUserDefaults standardUserDefaults] boolForKey:@"password"];

在整个项目中对这个键进行文本搜索,你会发现有问题的代码。

最新更新