读取 NSUserDefault bool
我在尝试将 bool 注册为 NSUserDefault 时遇到问题。然后我希望稍后能够读取这个布尔值。问题是,当我读取该值时,它没有将其视为 YES
。
这是我用来注册该值的代码:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSMutableDictionary *appDefaults = [NSMutableDictionary dictionary];
[appDefaults setValue:@"YES" forKey:kShowHelp];
[defaults registerDefaults:appDefaults];
[defaults synchronize];
然后我使用以下命令读取布尔值:
bool showHelp = [[NSUserDefaults standardUserDefaults] boolForKey:kShowHelp];
I have a problem where I'm trying to register a bool as an NSUserDefault. I then want to be able to read this bool value later on. The issue is that when I read the value its not picking it up as a YES
.
Here is the code I use to register the value:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSMutableDictionary *appDefaults = [NSMutableDictionary dictionary];
[appDefaults setValue:@"YES" forKey:kShowHelp];
[defaults registerDefaults:appDefaults];
[defaults synchronize];
I then read the bool using the following:
bool showHelp = [[NSUserDefaults standardUserDefaults] boolForKey:kShowHelp];
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不要使用 setValue:forKey: 使用 setObject:forKey:
Don't use setValue:forKey: use setObject:forKey:
为什么不使用
setBool:forKey
?编辑
好的,既然你有一个字典,你应该使用 NSNumber 来表示布尔值。
示例
编辑2
您知道您还可以在应用程序包中创建一个plist,并将其值注册为默认值吗?恕我直言,更简单。
Why aren't you using
setBool:forKey
?EDIT
Ok, since you have a dictionary, you should use a NSNumber to represent a boolean values.
Example
EDIT 2
Do you know you can also create a plist in your application's bundle, and register its values as defaults? Much simpler IMHO.