写项目碰到服务器返回<null>或者null,这个类型对于iOS来说这是一个NSNULL类型,既不是字符串,也不是空,所以当我们把它当做NSString来处理的时候,程序就会崩溃,报找不到NSString类里面的方法。
下面来介绍如何来处理这种情况
服务器端
返回空时直接返回""
iOS端
在模型转数据的时候对返回的类型进行一个判断
//1.
if (values isKindOfClass:[NSNull class]]) {
values = nil;
}
//2.
[values isKindOfClass:[NSNull class]]
可以在这里写成一个宏出来
#define TEMP(values) [values isKindOfClass:[NSNull class]] ? nil : values
多说一句,其实服务器返回null是很正常的,因为他们的空类型就是null,而iOS的空是nil,所以就需要一方来进行容错处理了。