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/

10-12 00:18