想要解决服务器返回json失败问题,就先模拟一下失败场景
如下图所示,我模拟了一个json,oneKey是字符串,threeKey是数组,数值都是null。将json转换成字典Dictionary后,首先把Dictionary转化成model,在这种情况下,model.oneKey会被自动转化成nil,所以对它的值得访问没有影响。但如果直接访问字典的key值,dic[@"oneKey"]获取到的对象是NSNull类型,那么对它的某些访问就会崩溃。
NSString *json = @"{\"oneKey\":null,\"twoKey\":\"上岗证\",\"threeKey\":null}";
那么现在我们使用网上搜索到的一种最常用也是最简单的解决方法NullSafe看看是否有用。
Github网址:https://github.com/nicklockwood/NullSafe
NullSafe在运行时操作,把这个讨厌的空值设置为nil,而nil是安全的,可以向nil发送任何mesage而不会崩溃。(如果有想要详细了解原理的,我的参考资料有相关链接)
使用方法:把NullSafe.m文件直接扔到项目中就可以了,简单方便。
如下图,是我使用之后的结果,果然完美的解决了崩溃问题。
参考资料:
https://www.jianshu.com/p/02c328387a2c?open_source=weibo_search
NullSafe原理:https://blog.csdn.net/chenglei9128/article/details/78245382
end:小编是很认真的写文哦,如果小编的文对您有用,一定要点“喜欢”哦!如果有问题欢迎评论