NSUserDefaults
API文档包含boolForKey:
消息,其描述如下-
boolForKey:
返回与指定键关联的 bool 值。
- (BOOL)boolForKey:(NSString *)defaultName
返回值
如果 bool 值与用户默认值中的defaultName关联,则返回该值。否则,返回否。
假设
[[NSUserDefaults standardUserDefaults] boolForKey:@"some_Key"]
给出了“否”,则可能是因为 key 不存在或者 key 存在并且其boolean
值为NO。我们如何区分?到目前为止,我只能避免首先陷入这种情况。 最佳答案
您使用的用户默认值不正确。在启动应用程序时,应该使用包含所有首选项默认值的字典来调用-[NSUserDefaults registerDefaults:]
。
然后,如果用户尚未设置首选项,-boolForKey
将返回默认值。
关于iphone - NSUserDefaults boolforKey受到设计限制吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4406886/