ios 一招解决烦人的NSNull( 结合 MJExtension)

     做ios开发的小伙伴肯定都深有体会,服务器返回给我们的null实在是太可恶了,严重点直接导致程序崩溃,好一点的时候特么也会让你界面上显示个null,这肯定是不符合要求的.

至于如何处理,网上这种文章也很多了.有人提到了一个牛逼的Category,叫NullSafe,说直接拉到工程里面去就欧拉,其他什么都不用做,但是我试用了下,发现问题依然存在.无奈之下,只能自己写了.由于本人比较喜欢用MJExtension,所以就想着可不可以在这里面干点什么就可以达到我的要求.废话就不多说了,直接上代码.

如果你也是用的MJExtension,那么你可以在模型的.m文件中增加以下方法:

- (id)mj_newValueFromOldValue:(id)oldValue property:(MJProperty *)property{

if (oldValue == [NSNull null]) {

if ([oldValue isKindOfClass:[NSArray class]]) {

return  @[];

}else if([oldValue isKindOfClass:[NSDictionary class]]){

return @{};

}else{

return @"";

}

}

return oldValue;

}


到此,问题解决.因为;这个方法就是MJ提供给我们用来过滤字典中的某些值用的.

作者:汪泽煌

QQ:563206959

你可能感兴趣的:(ios 一招解决烦人的NSNull( 结合 MJExtension))