在ios中,接口經(jīng)常返回null,有時候又返回空字符串,有時候又返回(null),甚至,利用isEqualToString:@"",NULL,@"(null)",nil,Nil比較后均得不到正確結(jié)果,甚至連string.length == 0來判斷依然不行,但是實際上這個str確實是空的。那這個時候該如何判斷才能正確呢?
用NSStringFromClass打印出字符串返回的格式是(null)時,需要這樣判斷
if(result?==nil)
{
NSLog(@"空類型!");
}
而如果返回的格式是時,則需要這樣判斷
if([resultisEqual:[NSNullclass]])
{
NSLog(@"空類型!");
}
所以,總的來說,你可以用一句代碼來總結(jié)出判斷字符串類型的方式,可以這樣寫:
-?(BOOL)StringIsNullOrEmpty:(NSString*)str
{
return(str?==nil||?[strisKindOfClass:[NSNullclass]]?||?str.length==0);
}
這樣就基本上能解決字符串為空類型時的判斷了。
*如果還有補充,請留言,謝謝!