首先nil表示无值,任何变量在没有被赋值之前的值都为nil,对于真假判断,只有nil与false表示假,其余均为真.而NULL是一个宏定义,值为0.并且,nil一般赋值给空对象,NULL一般赋值给nil之外的空值.所以,nil是一个对象指针为空,NULL是一个类指针为空,NULL是基本数据类型为空. 另外,NSNull 集合对象无法包含nil作为其具体值,如NSArray.NSSet和NSDictionary.相应地,nil值用一个特定的对象NSNull来表示.NSNull提供了一个单一实例用于…