OC中nil、Nil、NULL、NSNull的区别

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可以作为数组的中一个对象存在

原文地址:https://www.cnblogs.com/small-octopus/p/4743152.html