在我们解析字典时候会出现很多未知的问题。
下面介绍几种通用字典方法,很好用
+(NSString*)ZyGetString:(id)UnknowObj;
+(NSInteger)ZyGetInteger:(id)UnknowObj;
+(float)ZyGetFloat:(id)UnknowObj;
+(float)ZyGetDouble:(id)UnknowObj;
+(NSDate*)ZyGetDate:(id)UnknowObj;
//解析字符串
+(NSString*)ZyGetString:(id)UnknowObj
{
if((NSObject*)UnknowObj==[NSNull null])
return nil;
if([UnknowObj isKindOfClass:[NSString class]])
{
if([UnknowObj isEqualToString:@""])
return nil;
return UnknowObj;
}
else if([UnknowObj isKindOfClass:[NSNumber class]])
{
return[UnknowObj stringValue];
}
return nil;
}
//解析数字
+(NSInteger)ZyGetInteger:(id)UnknowObj
{
if((NSObject*)UnknowObj==[NSNull null])
return -1;
@try
{
return[UnknowObj intValue];
}
@catch(NSException *exception)
{
return -1;
}
@finally
{
}
}
+(float)ZyGetFloat:(id)UnknowObj
{
if((NSObject*)UnknowObj==[NSNull null])
return 0.0;
@try
{
return[UnknowObj floatValue];
}
@catch(NSException *exception)
{
return 0.0;
}
@finally
{
}
}
//解析double类型d
+(float)ZyGetDouble:(id)UnknowObj
{
if((NSObject*)UnknowObj==[NSNull null])
return 0.0;
@try
{
return[UnknowObj doubleValue];
}
@catch(NSException *exception)
{
return 0.0;
}
@finally
{
}
}
//解析nsdata类型的
+(NSDate*)ZyGetDate:(id)UnknowObj
{
if((NSObject*)UnknowObj==[NSNull null])
return nil;
if([UnknowObj isKindOfClass:[NSString class]])
{
if([UnknowObj isEqualToString:@""])
return nil;
NSString *d = UnknowObj;
NSDateFormatter *dateFormatter =[[NSDateFormatter alloc]init];
[dateFormatter setDateFormat: @"yyyy-MM-dd HH:mm:ss"];
return[dateFormatter dateFromString:d];
}
if([UnknowObj isKindOfClass:[NSDate class]])
{
return UnknowObj;
}
return nil;
}