iOS 关于(null)和<NULL>,你真的注意过吗?

在开发过程中,有很多细节的东西我们都不太注重。今天我们来分析下(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>这种空值的,如果你取出来了,那么恭喜你,程序会蹦的一塌糊涂,保证你打了全局断点也没有用。所以就需要我们用isKindOfClassisEqual这两种方法判断啊。当然大批量的判断用这样的方法是不可取的。你想下,如果有一万条<null>你还判断一万次啊

  • 所以想大批量判断请走这里:大批量判断后台NULL传送门走起 。貌似我们跑偏了,今天我们重点研究的可不是大批量判断

  • 那我们就言归正传,首先我们创建一个字符串,然后赋值NULL,直接上图:

Paste_Image.png

可以看出,黄色区域的代码用来判断<null>都是可行的

其实我们日常开发中还有很多小细节的东西我们都在不经意间忽略

没有一蹴而就的天才,只有不断点亮天赋的勤者

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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,973评论 19 139
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,270评论 0 4
  • 塞上由来春日晚, 风沙三月寒吹面。 飒飒黄林山径险, 忽抬眼, 轻骑一队长坡现。 小将初征惊暗叹, 巾帼直教须眉羡...
    简之宁阅读 334评论 13 15
  • 教程基于,最新的hexo 3.2.2版本,以及Next主题5.0.1版本。 从搭站到替换主题,导航设置,引用多说评...
    Superbsco阅读 258评论 0 1
  • 前些日子看《向往的生活》,何老师说,人有时候很奇怪,有一百个人爱你,你都认为是理所当然。但其中夹杂着一两个人来恨...
    晒小桑isme阅读 474评论 0 0