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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,788评论 0 9
  • 1、禁止手机睡眠[UIApplication sharedApplication].idleTimerDisabl...
    DingGa阅读 1,144评论 1 6
  • 1、禁止手机睡眠 [UIApplication sharedApplication].idleTimerDisab...
    FF_911阅读 1,431评论 0 3
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,769评论 18 399
  • 18.游离于众人外,保持好奇却不靠近。偶尔轻笑,或颔首沉思。自诩不易相处。想要靠近却难以靠近。怀揣着梦想,亦做出了...
    丶一直很安静丨阅读 295评论 2 0