NSUserDafaults null值?

时间:2013-07-23 10:10:00

标签: ios null

我有这段代码

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

如何验证此密钥是否为某个值。因为此代码返回NO

3 个答案:

答案 0 :(得分:4)

这会对你有帮助.....

 NSUserDefaults *Values = [NSUserDefaults standardUserDefaults];
    if([[[Values dictionaryRepresentation] allKeys] containsObject:@"YourKeyToCheck"])
    {
        //return yes ...... Or Do your stuff here...
    }

答案 1 :(得分:1)

这可能对您有帮助,

if ([[[[NSUserDefaults standardUserDefaults] valueForKey:@"Identificator"] length] > 0] {
   //empty value
} 

答案 2 :(得分:0)

我认为您不能为NSUserDefaults密钥设置NULL值。将密钥值设置为nil等同于删除密钥。 check the accepted answer from this SO question for details

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

因此,您应该相应地调整代码并对NO结果执行任何操作,而不是YES我会说。