一:关于数组字典中的null
比如:
NSArray * array = @[@{@"testKey1":@"testValue1"},@{@"testKey2":[NSNull null]}];
[[NSUserDefaults standardUserDefaults] setObject:array forKey:@"testKey"];
```
因为数组中字典有null,那么你沙盒本地化时候就会直接cr acrach
二:关于请求到的json数据
由于服务器返回的数据有些字段为空,那么json形式返回的数据就是
"value":null
而我们一般解析json数据都用第三方,那么通过第三方得到的数据
value=<null>
这个数据类型不是nil也不是string,那么把这个数据解析成对象后,直接调用对象方法比如(length count)就会直接crash
那么解决方法
查看网上很多人都用
if([obj isKindofClass:[NSNull class]])
但是我还是觉得太麻烦,比如这种字段太多,那简直会折磨死人
于是乎,最后找到一个博客上说一歪果仁写了一个类别,真牛逼啊,大概意思就是:在运行时操作,把null转化为nil,至少nil是安全的,可以给nil对象发送任何小心不奔溃
地址:https://github.com/nicklockwood/NullSafe
只需把这个类别加入工程就可以,特别简单