gpt4 book ai didi

objective-c - NSUserDefaults。 setValue 有效,而不是 setBool

转载 作者:太空狗 更新时间:2023-10-30 03:31:43 24 4
gpt4 key购买 nike

我试图在 NSUserDefaults 中存储一些设置,但应用程序似乎不会存储 setBool 值。

这个有效:

[[NSUserDefaults standardUserDefaults] setValue: @"hello"forKey: @"test"];
[[NSUserDefaults standardUserDefaults] 同步];

当我终止应用程序并重新启动它时,该值已被保存。但是,当我这样做时:

[[NSUserDefaults standardUserDefaults] setBool: YES forKey: @"test"];
[[NSUserDefaults standardUserDefaults] 同步];
关闭应用程序并重新启动后它不会保存。

我应该提交错误报告,还是我遗漏了什么?

谢谢

编辑:

我想我做错了什么。在 AppDelegate 中,我想检查是否设置了 boolForKey,但我并没有这样做:

if (![defaults boolForKey: @"test123"])
[defaults setBool: YES forKey: @"test123"];

...然而,当谈到 boolWithKey 时,“!”只需检查 bool 是 YES 还是 NO,而不是 nil。

最佳答案

您如何确定它不起作用?我试过你的代码,它对我有用。您确定在编写 bool 值后以正确的方式读取它吗?

这段代码应该可以工作:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setBool:NO forKey:@"test"];

[defaults synchronize];

BOOL myBool = [defaults boolForKey:@"test"];

关于objective-c - NSUserDefaults。 setValue 有效,而不是 setBool,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9580922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com