OC中Nil、nil、NULL、NSNull、class、Class

    原先对此很迷惑,但是在网上看了很多文章后略有所得。

1、Class和class

class指类,类是对象(object)的类型。比如 NSString *str = [[NSString alloc]init]; NSString就是一个class,是对象str的类型。

Class指类的类型,比如:Class aclass = [NSString class]; aclass就是一个类,就是NSString这个类,而Class就势aclass的类型。

 

2、Nil、nil、NSNull、NULL

nil是让指向对象的指针变为空,比如 NSString *str = nil,适用于对象

Nil是让指向类的指针变为空,比如 Class aclass = Nil

NSNull是一个类,一个代表空值的类。可以用类方法+(NSNull *)null创建一个空对象。一般用于集合中值为空的对象

 

     因为 nil 被用来用为集合结束的标志,所以 nil 不能存储在 Foundation 集合里。

  NSArray *array = [NSArray arrayWithObjects:@"one", @"two", nil];

  // 错误的使用

  NSMutableDictionary *dict = [NSMutableDictionary dictionary];

  [dict setObject:nil forKey:@"someKey"];

  // 正确的使用

  NSMutableDictionary *dict = [NSMutableDictionary dictionary];

  [dict setObject:[NSNull null] forKey:@"someKey"];

 

NULL是让指向C类型的指针变为空,比如 int *a = NULL;

 

感谢这篇文章的指导 http://www.3lian.com/edu/2015/06-09/220517.html

 

转载于:https://www.cnblogs.com/GarenChen/p/5049921.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值