iOS开发中关于空值的定义主要有nil,NULL,NSNull这三种的,虽然都是代表空值的意思的,但用法还是有不同的。

  nil主要是用来给对象赋值的,例如

  id object = nil;

  // 判断对象不为空

  if(object){}

  //判断对象为空

  if(object == nil){}

  Null   (void*)0   C指针的字面零值

  nil    (id)0    Objective-C对象的字面零值

  Nil    (class)0   Objective-C类的字面零值

  NSNull  [NSNull null]  用来表示零值的单独对象

  

转载于:https://www.cnblogs.com/qirutr/p/4756355.html

nil,NULL,NSNull的区别相关推荐

  1. 学习笔记-nil NULL NSNull Nil的区别

    nil--表示实例对象为空  例如  NSString * string = nil;                                            NSArray * arr ...

  2. iOS开发 nil Nil NULL NSNull 的使用

    nil: A null pointer to an Objective-C object. ( #define nil ((id)0) ) nil 是一个对象值. Nil: A null pointe ...

  3. NULL、nil、Nil、NSNull的区别

    标志 值 含义 NULL (void *)0 C指针的字面零值 nil (id)0 Objecve-C对象的字面零值 Nil (Class)0 Objecve-C类的字面零值 NSNull [NSNu ...

  4. nil/Nil/NULL/NSNull的来历

    学过C的同学都知道,C是用0来表示不存在的原始值.而NULL作为空指针,在指针环境中也相当于0值.其实NULL和0的值都是一样的.但是为了目的和用途及容易识别的原因,NULL用于指针和对象,0用于数值 ...

  5. IOS 学习笔记 2015-03-20 O之 nil,Nil,NULL,NSNull

    1.oc最好 用nil   [ nil  任意方法],不会崩溃  nil 是一个对象值. NULL是一个通用指针(泛型指针). 2. NSNULL,NULL和nil在本质上应该是一样的,NULL和ni ...

  6. nil,Nil,NULL,NSNull

    nil:指向oc中对象的空指针 Nil:指向oc中类的空指针 NULL:指向其他类型的空指针,如一个c类型的内存指针 NSNull:在集合对象中,表示空值的对象 NSURL *url = nil: C ...

  7. Objective-C 中 NULL、nil、Nil、NSNull 的定义及不同

    来源:XcodeMen(康祖彬) 链接:http://www.jianshu.com/p/5d7033b15052 本文由我们团队的 康祖彬 童鞋撰写,这是他的个人主页:https://kangzub ...

  8. 【iOS开发】—— nil、Nil、NSNull和NULL

    文章目录 nil Nil NULL NSNull 分析 nil nil是用来表示一个对象是空对象,即想要表示此对象不存在.给对象赋值时一般会使用object = nil,表示我想把这个对象释放掉:或者 ...

  9. nil和NSNull

    今天在用到NSString类的时候遇到一个问题,挺费解的,问题是这样的:我从服务器上获取某字符串数据,考虑到有些对象不含这个字符串变量,我在使用时先判断该字符串是否为空,例如: 假设,这个字符串名叫s ...

  10. Objective-c 中 nil, Nil, NULL和NSNull的区别

    nil: A null pointer to an Objective-C object. ( #define nil ((id)0)  ) nil表示一个Objective-C对象,这个对象的指针指 ...

最新文章

  1. Asp.net Mvc 多级控制器 路由重写 及 多级Views目录 的寻找视图的规则 (多级路由) 如:Admin/Test/Index...
  2. 使用DX 一些知识点整理(随时添加)
  3. (静态资源处理)nginx 比tomcat强在哪
  4. android 方向控制界面,Android Studio屏幕方向以及UI界面状态的保存代码详解
  5. oracle数据库的医院信息系统数据库升级方案,医院信息系统数据库从Oracle8i到10gR2升级的实现...
  6. mysql 'performance_schema'.'session_variables' 问题处理
  7. 深入理解JavaScript中的this关键字
  8. 微信官方回应iOS 13.2频繁杀后台问题:建议先不升级
  9. 书单|阅读让人越来越低
  10. 用chrome 观看youtube视频显示中文字幕
  11. 你有想过如何合适地给 JavaScript 变量命名吗?
  12. Enzo Life Sciences/艾美捷丨线粒体/胞浆分离试剂盒
  13. 好用的组件Vue Tags Input 输入框标签
  14. Kubernetes知识整理
  15. 机器人编程学的是什么
  16. stm32CubeMX+Proteus仿真OLED12864I2C
  17. Lena原图 512*512
  18. Linux守护进程编写
  19. 升腾c10,华为ct3100安装nextcloud,KodExplorer网盘
  20. WeOS 微信手机操作系统

热门文章

  1. 细说PHP:人人都能玩转PHP和MySQL Web开发
  2. 利用FrameLayout连接一组view实现流畅的左右滑动
  3. Linux—添加开机启动(服务/脚本)
  4. ubuntu安装 Samba实现局域网文件共享 win10访问
  5. redis的批量操作命令pipeline(PHP实现)
  6. BZOJ 2821: 作诗(Poetize) [分块]
  7. UML 结构图之包图 总结
  8. 安卓模拟器genymotion连接eclipse成功但是不显示其中项目
  9. dragstart drag dragend dragenter dragover dragleave drop
  10. [转]C++日志系统log4cxx使用总结