nil:指向OC中对象的空指针 e.g.: NSString *string = nil;

Nil:指向OC中类的空指针    e.g.:Class class = Nil;

NULL:指向其他类型的空指针 e.g.:int a = NULL;

NSNull:OC中的对象,表示空值;

注:nil是一个对象,NULL是一个值

  nil是将对象设置为空,NULL是将基本类型设置为空

e.g.  (1) class *object = nil;

       [object message];

     result:NO

    (2) NSNull *object = [[NSNull alloc] init]];

         [object message];

result:异常

    (3) NSArray中以nil为中止符,NSNull可以作为数组的中一个对象存在

OC中nil、Nil、NULL、NSNull的区别的更多相关文章

  1. iOS中使用nil NULL NSNULL的区别

    nil NULL NSNULL的区别主要以下几点 1.nil:一般赋值给空对象 2.NLL:一般赋值给nil之外的其他空值.入SEL等. 3.NSULL:NSNULL只有一种方法+ (NSNull * ...

  2. iOS nil,Nil,NULL,NSNULL的区别

    nil (id)0 是OC对象的空指针,可正常调用方法(返回空值,false,零值等) Nil  (Class)0 是OC类的空指针,主要运用于runtime中,Class c = Nil; 其他特性 ...

  3. 在ios开发中nil和NUll和Nilde区别————和如何判断连个对象的关系和UISlider不能拖动的问题

    nil表示一个对象指针为空,针对对象 >示例代码: NSString *someString = nil; NSURL *someURL = nil; id someObject = nil; ...

  4. oc 中的.m和.mm文件区别

    oc 中的.m 这是objective c语言 oc 中的.mm  这是objective c++语言

  5. delphi中nil、null、UnAssigned区别

    nil:空指针,空地址,对象也是指针,所以可以object := nil;null:null是一个未定义值的变量,既不是0也不代表空字符串,它是未定义的.http://www.delphibasics ...

  6. Java中空串和null串的区别

    对于空串来说这是一个对象他被""这个对象给实例化了只是他的长度为0字符的内容为空. 而String变量中还可以存储一个特殊的值,这个是null,这个表示没有和其他的对象与这个变量相 ...

  7. 你还不知道mysql中空值和null值的区别吗?

    前言 最近发现带的小伙伴写sql对于空值的判断方法不正确,导致程序里面的数据产生错误,在此进行一下整理,方便大家以后正确的判断空值.以下带来示例给大家进行讲解. 建表 create table tes ...

  8. [BS-22] Objective-C中nil、Nil、NULL、NSNull的区别

    Objective-C中nil.Nil.NULL.NSNull的区别 1.定义: nil:      OC语言定义:#define nil __DARWIN_NULL   /  #define __D ...

  9. nil/Nil/NULL/NSNull

    nil/Nil/NULL/NSNull的区别 一个简单的小例子: NSObject *obj = nil; NSLog(@"%@",obj); =>null NSObject ...

  10. swift中的nil与Objective-C中的nil区别

    1.OC中,只有对象才能设置为nil,而swift中除了对象,Int.struct.enum等任何可选类型都可以等于nil 2.OC中,nil是一个指向不存在对象的指针.swift中,nil不是指针, ...

随机推荐

  1. activiti入门3排他网关,并行网管,包括网关,事件网关

    网关用来控制流程的流向 网关能够消费也能够生成token. 网关显示成菱形图形,内部有有一个小图标. 图标表示网关的类型. 基本分支 首先 利用 流程变量  写个带有分支的一个基本流程 流程图: wa ...

  2. Spring 配置dataSource和sessionFactory

    记得导入dbcp和pool的jar包.   <?xml version="1.0" encoding="UTF-8"?> <beans xml ...

  3. C# 播放H264裸码流

    要播放H264裸码流,可以分拆为以下三个工作: 1.解码H264裸码流获取YUV数据 2.将YUV数据转换为RGB数据填充图片 3.将获取的图片进行显示 要完成工作1,我们可以直接使用海思的解码库,由 ...

  4. Docker 使用docker-compose部署项目

    原文地址:https://github.com/eacdy/spring-cloud-book/blob/master/3%20%E4%BD%BF%E7%94%A8Docker%E6%9E%84%E5 ...

  5. #1214 - The used table type doesn't support FULLTEXT indexes解决办法

    #1214 - The used table type doesn't support FULLTEXT indexes报此错误的原因是:InnoDB不支持FULLTEXT类型的索引. 网上的解决办法 ...

  6. CAN总线过滤规则

    奇怪的设计 If (AFMR & Message_ID) == (AFMR & AFIR) then Capture Message AFIR 1 接收 AFMR 0 接收 设置某接收 ...

  7. 版本控制器-VSS和SVN区别

    SVN 默认的工作方式和VSS不同, VSS是[锁定-修改-解锁],VSS是一个人在改的时候必须以独占的方式签出文件,导致其他人不能够修改.用VSS经常要问同事:"改完没,签入一下" ...

  8. 680. Valid Palindrome II【easy】

    680. Valid Palindrome II[easy] Given a non-empty string s, you may delete at most one character. Jud ...

  9. 设备模型的基础---kobject,kset

    设备模型的基础是kobject,kset,kobj_type.kobject本身并没有什么意义,真正有用的地方在于嵌入了kobject的结构体(对象),kobject可以看成是一个最小单元,sysfs ...

  10. 查看zookeeper是否启动

    查看进程: 方法: ps -aux | grep 'zookeeper' 系统有返回,说明zookeeper启动. 你可以搜索ps -aux.