Bla*_*use 8 objective-c nsuserdefaults
我试图在NSUserDefaults中存储一些设置,但似乎应用程序不会存储setBool值.
这有效:
[[NSUserDefaults standardUserDefaults] setValue: @"hello" forKey: @"test"];
[[NSUserDefaults standardUserDefaults] synchronize];
当我终止应用程序并重新启动它时,该值已保存.但是,当我这样做时:
[[NSUserDefaults standardUserDefaults] setBool: YES forKey: @"test"];
[[NSUserDefaults standardUserDefaults] synchronize];
关闭应用程序并重新启动后,它将无法保存.
我应该提交错误报告,还是我在这里缺少什么?
谢谢
编辑:
我想我做错了什么.在AppDelegate中,我想检查是否设置了boolForKey,而不是我这样做了:
if (![defaults boolForKey: @"test123"])
[defaults setBool: YES forKey: @"test123"];
Run Code Online (Sandbox Code Playgroud)
...但是,当谈到boolWithKey时,"!" 只检查bool是YES还是NO,如果没有则为零.
你怎么能确定它不起作用?我尝试了你的代码,它适用于我.您确定在编写布尔后以正确的方式读取布尔值吗?
这段代码应该工作:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setBool:NO forKey:@"test"];
[defaults synchronize];
BOOL myBool = [defaults boolForKey:@"test"];
Run Code Online (Sandbox Code Playgroud)