在开发过程中,有很多细节的东西我们都不太注重。今天我们来分析下(null)和<null>
1、 (null):字符串默认值
- 什么是
(null):(null)是字符串未赋值时的默认值 - 如何用代码判断(null)呢?直接
[str isEqualToString:@""]?还是[str isEqualToString:@"(null)"]?当然不是这样了。那我们直接代码见:

Paste_Image.png
关于(null)和nil的关系:控制台中打印的(null) == 代码中得nil
关于判断(null)我们列举了5种情况,其中2、3、5都可执行,也就是都可判断成功
2、<null>:后台默认空值
什么是
<null>:<null>一般是在我们和后台接口对接时返回给我们的键值对里的空值我们
iOS开发中并不支持<null>这种空值的,如果你取出来了,那么恭喜你,程序会蹦的一塌糊涂,保证你打了全局断点也没有用。所以就需要我们用isKindOfClass或isEqual这两种方法判断啊。当然大批量的判断用这样的方法是不可取的。你想下,如果有一万条<null>你还判断一万次啊所以想大批量判断请走这里:大批量判断后台NULL传送门走起 。貌似我们跑偏了,今天我们重点研究的可不是大批量判断
那我们就言归正传,首先我们创建一个字符串,然后赋值NULL,直接上图:

Paste_Image.png
可以看出,黄色区域的代码用来判断<null>都是可行的
其实我们日常开发中还有很多小细节的东西我们都在不经意间忽略
没有一蹴而就的天才,只有不断点亮天赋的勤者