NSNull了解

我们都知道nil是代表了对象为空,Nil代表类为空,NULL是其他类型的值为空(比如C语言类型)。很多博客和资料上说NSNull代表了在集合对象中表示空值的对象。

这句话又是什么意思?难道集合对象中的值为空不也就是nil吗?为什么官方还会做出来NSNull这个类型。

在OC中只要定义了两种容器,NSDictionory和NSArray,而且要求这两种容器中的对象都不能为空,也就不能位nil,为了保证count的正确性。但是集合中一定是会存在元素为空这一情况,就在nil指针的位置存放了NSNull对象,用来表示空对象。

带来的问题:

在遍历的时候如果集合中有空元素,这样会给程序带来crash。kvo的使用也会带来NSNull。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,560评论 18 399
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 4,169评论 1 10
  • 关键词/关键类 1.#import跟#include有什么区别,@class呢,#import<>跟#import...
    丶逐渐阅读 1,592评论 0 1
  • 很多时候我很在意你,但毕竟我在我的城市有我的生活,无法顾及的太多,我很想知道你过得好不好,因为你的一切我都无法...
    南城沙阅读 228评论 0 2
  • LM32:大家早上好,我是耐心,新的一天如期而至,北京今天是雾霾天,每天呼吸着不太干净的空气,缩短着我们的生命,所...
    心羽暖姐姐阅读 223评论 0 0

友情链接更多精彩内容