需求:在ios应用中,如果从网络请求数据,返回json或者xml格式的数据时,经常会遇到空串,一般接口是用java等语言写的,如果是安卓,因为源语言都是java,只需判断是否等于null即可,但是在ios中会出现各种各样的形式,比如null, (null), <null>
如果单纯用:string != nil 判断不出<null>
完成的判断方法:
-(BOOL)isNull:(id)object
{
// 判断是否为空串
if ([object isEqual:[NSNullnull]]) {
return YES;
}
else if ([objectisKindOfClass:[NSNull class]])
{
return YES;
}
else if (object==nil){
return YES;
}
else if ([object isKindOfClass:[NSStringclass]])
{
NSString *string=(NSString *)object;
if ([string isEqualToString:@""])
{
return YES;
}
}
return NO;
}
对空串进行发消息会出现各种各样的崩溃,让人很无语,比如可变字典setObject: forkey: ,同理转换空字符串
-(NSString*)convertNull:(id)object{
// 转换空串
if ([object isEqual:[NSNullnull]]) {
return @"";
}
else if ([objectisKindOfClass:[NSNull class]])
{
return @"";
}
else if (object==nil){
return @"无";
}
return object;
}