从NSUserDefault检索值 - 错误

时间:2016-02-10 18:04:45

标签: ios objective-c

我正在尝试从NSUserDefaults中检索值。当我检索到值时,我得到(null),这很好。

我该如何验证?

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"Value"] !=[NSNull null] ) {
   NSlog(@"returns a value");
} else NSlog(@"return a null");

然而,即使我得到一个null它也没有被检测到(它进入if块)。我怎么能这样呢?

2 个答案:

答案 0 :(得分:2)

nil[NSNull null]不同。只需查看value != nil

nil是(简化)0。[NSNull null]是一个真实的对象。

答案 1 :(得分:1)

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
 if ([defaults objectForKey:@"Value"] != nil) {
     NSlog(@"returns a value");
 } else {
    NSlog(@"return a nil");
 }

这会奏效。 Eiko说的是对的。