iOS nil,Nil,NULL,NSNULL的区别

nil    (id)0

是OC对象的空指针,可正常调用方法(返回空值,false,零值等)

Nil     (Class)0

是OC类的空指针,主要运用于runtime中,Class c = Nil; 其他特性与nil一致

NULL     (void *)0

是C指针的空值,在OC中对非对象指针赋空值,如C指针,int *p = NULL

NSNULL    [NSNULL null]

是OC中的空对象,可补足NSArray,NSDictinory中不能存储nil的缺陷,在命令行输出一般为"null"

原文地址:https://www.cnblogs.com/nmzd/p/5680404.html