0

我有这个代码

[[[NSUserDefaults standardUserDefaults] valueForKey:@"Identificator"]isEqualToString:@""]
[[[NSUserDefaults standardUserDefaults] valueForKey:@"Identificator"] isKindOfClass:[NSNull class]]) 

我如何验证此密钥是否具有某些价值。因为此代码返回 NO

4

3 回答 3

3

不过这会对你有所帮助......

 NSUserDefaults *Values = [NSUserDefaults standardUserDefaults];
    if([[[Values dictionaryRepresentation] allKeys] containsObject:@"YourKeyToCheck"])
    {
        //return yes ...... Or Do your stuff here...
    }
于 2013-07-23T10:20:50.093 回答
1

这可能对你有帮助,

if ([[[[NSUserDefaults standardUserDefaults] valueForKey:@"Identificator"] length] > 0] {
   //empty value
} 
于 2013-07-23T11:14:10.487 回答
0

我认为您不能NULL为 NSUserDefaults 键设置值。将某个键的值设置nil为等同于删除该键。检查此 SO 问题的已接受答案以获取详细信息

因此,您的代码正确返回NO,因为该键不存在。

所以你应该相应地调整你的代码并对NO结果做任何你需要做的事情,YES我不会说。

于 2013-07-23T11:05:57.780 回答