愚蠢的问题警告......我可能会被剥夺睡眠,但我似乎无法弄清楚这一点。
'current'是NSDictionary
if ([current valueForKey:@"name"] != nil)
{
NSLog(@"here %@", [current valueForKey:@"name"]);
}
打印
here John
here Sam
here <null>
here <null>
here Billy
'if xx!= nil'不应该阻止空值吗? 'name'存在于我的字典中,但name的值可能为空。
答案 0 :(得分:4)
NSArray
和NSDictionary
不能包含nil值。 NSNULL
专门创建为nil的占位符。它可以放入集合类中,只占用空间。
NSNull
定义了一个单例对象,这意味着只有NSNull
的单个实例,但它可以在任意多个地方使用。
你需要像这样检查......
if (current != nil || [current valueForKey:@"name"] != [NSNull null] )
{
NSLog(@"here %@", [current valueForKey:@"name"]);
}
我相信你会得到这个输出.....
<强>输出强>
here John
here Sam
here Billy
答案 1 :(得分:0)
尝试这样,
if ([current valueForKey:@"name"] != nil | [current valueForKey:@"name"]!=[NSNull null] )
{
NSLog(@"here %@", [current valueForKey:@"name"]);
}
答案 2 :(得分:0)
if ( [[current valueForKey:@"name"] length]!=0)
{
NSLog(@"here %@", [current valueForKey:@"name"]);
}
我认为这会对你有所帮助。