2016-11-24 18 views
0

我有NSMutableDictionary它存儲數據庫中的數據。 NSMutableDictionary中的某些鍵具有如下所示的空值。NSDictionary檢查「<null>」在ios10中的值

我想檢查空值。我做如下:

UserMobileNo = "<null>"; 
UserAccNo = "<null>"; 
if(!([dicUserdata valueForKey:@"UserMobileNo"] == [NSNull null])) 
     //Saved result 

但上面的代碼似乎沒有完全檢查空值。 什麼是檢查字典內空值的完美方式?

+0

也許這有助於:http://nshipster.com/nil/ – LoVo

+0

你不能存儲null/nil在NSDictionary;你的字典包含什麼?字面上字符串「」? – Paulw11

+0

是啊,因爲數據來自數據庫..... – user2813740

回答

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:返回一個布爾值,指示接收器是否是給定類別或種類的一個實例從該類繼承的任何類的實例。

+0

感謝您的幫助。 – user2813740

+0

歡迎好友.. – vaibhav

0

你需要檢查如下:

if ([[dicUserdata objectForKey:@"UserMobileNo"]isKindOfClass:[NSNull class]]) { 

        } 
1
if (![[dicUserdata valueForKey:@"UserMobileNo"]isKindOfClass:[NSNull class]]) 
{ 
    //Not Null 
} else { 
    //Null 
} 
0

使用這些條件:

if(!([[dicUserdata valueForKey:@"UserMobileNo"] isKindOfClass:[NSNull class]])) { 

} 

or 

if([dictUserData[@"UserMobileNo"] isKindOfClass:[NSString class]]) { 
    //execute your condition 
} 
+0

你的語法有點兒不對方法使用點語法。同樣'isKindOfClass'需要一個'class',並且你正在傳遞一個對象。使用'[NSNull類]' – rckoenes

+0

哦..感謝您的錯誤.....我向您展示了swift和objective-c混合...等待m更新它 –

0

你以錯誤的方式解釋,如果條件

可以使用

if ([dictResponse objectForKey:@"UserMobileNo"] != [NSNull null]) { 
    //handle your code 
} 

if (![[dictResponse objectForKey:@"UserMobileNo"]isKindOfClass:[NSNull class]]) { 
     //handle your code 
} 
0

試試下面的代碼:

if ([[dicUserdata objectForKey:@"UserMobileNo"] isKindOfClass:[NSDictionary class]]) { 
    // found null 
}else{ 
    // your code 
} 
+0

問題不在於檢查字典以檢查空值。已經字典和解析它 –

0

這樣做,即確保值的正確的方法是不nil且不NSNull是:

if (dictionary[key] && dictionary[key] != [NSNull null]) { 
    // not nil or NSNull 
} 

額外的檢查是不必要的。