代码改变世界

nil,NULL,NSNull的区别

2015-08-25 00:59  qirutr  阅读(191)  评论(0编辑  收藏  举报

  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]  用来表示零值的单独对象