标签:方法 style 接收 lan sele class intval val statistic
最近遇到一个问题:
? ? ? ? 因为后台人员对于接口数据没有做空值处理。导致client接收到的有些数据为空(NSNull),而针对此类数据恰好client的存储结构为int和float类型。类型转换时报出了[NSNull intValue]或者[NSNull floatValue] unrecognized selector sent to instance 的错误。
解决此问题尝试了下面思路:
问题攻克了,但这样做的话对于应用须要改动的地方较多,想想比較烦。
扩展NSNull代码例如以下:
#import "NSNull+NullCast.h"
@implementation NSNull (NullCast)
- (float)floatValue
{
return 0.0;
}
- (int)intValue
{
return 0;
}
@end
在可能出现相似问题的类中引入NSNull+NullCast这个类问题就攻克了。无需改动逻辑代码。
NSNull floatValue intValue 找不到指定方法解决方式
标签:方法 style 接收 lan sele class intval val statistic
原文地址:https://www.cnblogs.com/xfgnongmin/p/10751526.html