NSNull
在OC中继承于NSObject,有一个类方法:[NSNUll null],表示一个空对象。
NULL
NULL一般用来表示C指针为空,本质是(void*)0。
使用惯例:int *a = NULL;
char *c = NULL;
nil
表示指向OC对象的指针为空,
UILabel * label = nil。
do something...
还有,我们想要把一个对象回收的时候使用nil:
label = nil;
Nil
与nil一致,一般用在表示OC类中 Class类为空的情况:
Class class = Nil;
NSNull *myNull = [NSNull null];
NSArray*arr = [NSArrayarrayWithObjects:@"abc", myNull,@"123",nil]; //正确
NSDictionary*dict = [[NSDictionaryalloc]init];
[dictsetValue:nilforKey:@"haha"]; //会崩溃
总结
|标志 | 值 | 含义
|NSNull | [NSNull null] | 表示空值的OC对象
|NULL | (void *) 0 | c 指针字面空值
| Nil | Class 0 | OC 类的字面空值
| nil | (id) 0 | OC 对象字面空值
网友评论