Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone NSUserDefaults BOOLWORKEY设计限制?_Iphone_Ios_Cocoa_Api_Foundation - Fatal编程技术网

Iphone NSUserDefaults BOOLWORKEY设计限制?

Iphone NSUserDefaults BOOLWORKEY设计限制?,iphone,ios,cocoa,api,foundation,Iphone,Ios,Cocoa,Api,Foundation,NSUserDefaultsAPI文档包含boolforky:消息,如下所述- boolForKey: 返回与指定键关联的布尔值 - (BOOL)boolForKey:(NSString *)defaultName 返回值 如果布尔值与用户默认值中的defaultName关联,则返回该值。否则,将返回NO 如果[[NSUserDefaults standardUserDefaults]boolforky:@“some_Key”]返回否,则可能是因为该键不存在,或者该键存在且具有布尔值NO。我

NSUserDefaults
API文档包含
boolforky:
消息,如下所述-

boolForKey:
返回与指定键关联的布尔值

- (BOOL)boolForKey:(NSString *)defaultName
返回值 如果布尔值与用户默认值中的defaultName关联,则返回该值。否则,将返回NO


如果
[[NSUserDefaults standardUserDefaults]boolforky:@“some_Key”]
返回否,则可能是因为该键不存在,或者该键存在且具有
布尔值NO。我们如何区分?到目前为止,我只能从一开始就避免陷入这种情况。

也可以使用
-objectForKey:
方法。这将告诉您该密钥是否存在。

您使用的用户默认值不正确。在应用程序启动时,您应该使用包含所有首选项默认值的字典调用
-[NSUserDefaults registerDefaults:


然后,如果用户没有设置首选项,
-boolforky
将返回默认值。

。因此,我以前搜索时没有找到这一个。:)BOOL不是对象,因此不能使用。是的,
BOOL
s不是对象,但是
NSUserDefaults
将它们作为
NSNumber
实例处理,这是您从
-objectForKey:
中得到的结果。我不会走得太远,说他错误地使用了用户默认值。注册默认值是可选的,在他的情况下可能更方便,但迈克·阿卜杜拉的答案更合适。