我有NSMutableDictionary
存储从数据库编译的数据。
NSMutableDictionary
中的某些键具有空值,如下所示。
我想检查空值。我正在做如下:
UserMobileNo = "<null>";
UserAccNo = "<null>";
if(!([dicUserdata valueForKey:@"UserMobileNo"] == [NSNull null]))
//Saved result
但是上面的代码似乎并没有完全检查空值。 在字典中检查空值的完美方法是什么?
答案 0 :(得分:2)
有很多方法可以检查。
使用nil
:
if([dicUserdata objectForKey:@"UserMobileNo"] == nil){
// found null
}
使用isEqual
方法:
if([[dicUserdata objectForKey:@"UserMobileNo"] isEqual:[NSNull null]]){
// found null
}
isEqual:返回一个布尔值,指示接收者和给定对象是否相等。
使用==
运营商:
if[[dicUserdata objectForKey:@"UserMobileNo"] == [NSNull null]]){
// found null
}
使用isKindOfClass
方法:
if[[dicUserdata objectForKey:@"UserMobileNo"] isKindOfClass:[NSNull null]]){
// found null
}
isKindOfClass:返回一个布尔值,指示接收者是给定类的实例还是从该类继承的任何类的实例。
答案 1 :(得分:1)
if (![[dicUserdata valueForKey:@"UserMobileNo"]isKindOfClass:[NSNull class]])
{
//Not Null
} else {
//Null
}
答案 2 :(得分:0)
您需要检查如下:
if ([[dicUserdata objectForKey:@"UserMobileNo"]isKindOfClass:[NSNull class]]) {
}
答案 3 :(得分:0)
使用以下条件:
if(!([[dicUserdata valueForKey:@"UserMobileNo"] isKindOfClass:[NSNull class]])) {
}
or
if([dictUserData[@"UserMobileNo"] isKindOfClass:[NSString class]]) {
//execute your condition
}
答案 4 :(得分:0)
您以错误的方式解释了if条件
可以使用
if ([dictResponse objectForKey:@"UserMobileNo"] != [NSNull null]) {
//handle your code
}
或强>
if (![[dictResponse objectForKey:@"UserMobileNo"]isKindOfClass:[NSNull class]]) {
//handle your code
}
答案 5 :(得分:0)
请尝试以下代码:
if ([[dicUserdata objectForKey:@"UserMobileNo"] isKindOfClass:[NSDictionary class]]) {
// found null
}else{
// your code
}
答案 6 :(得分:0)
这样做的正确方法,即确保价值不是nil
而不是NSNull
是:
if (dictionary[key] && dictionary[key] != [NSNull null]) {
// not nil or NSNull
}
不需要额外的检查。