在ios中,接口经常返回null,有时候又返回空字符串,有时候又返回(null),甚至,利用isEqualToString:@"",NULL,@"(null)",nil,Nil比较后均得不到正确结果,甚至连string.length == 0来判断依然不行,但是实际上这个str确实是空的。那这个时候该如何判断才能正确呢?
用NSStringFromClass打印出字符串返回的格式是(null)时,需要这样判断
if(result ==nil)
{
NSLog(@"空类型!");
}
而如果返回的格式是时,则需要这样判断
if([resultisEqual:[NSNullclass]])
{
NSLog(@"空类型!");
}
所以,总的来说,你可以用一句代码来总结出判断字符串类型的方式,可以这样写:
- (BOOL)StringIsNullOrEmpty:(NSString*)str
{
return(str ==nil|| [strisKindOfClass:[NSNullclass]] || str.length==0);
}
这样就基本上能解决字符串为空类型时的判断了。
*如果还有补充,请留言,谢谢!