nil、null和NSNull那些事儿

  nil和null从字面意思来理解比较简单,nil是一个对象,而NULL是一个值,nil是将一个对象设置为空,null是将基本类型设置为空,有点像属性当中,基本类型分配为assign NSString类型一般分配copy,而对象一般用retain。而且我们对于nil调用方法,不会产生crash或者抛出异常。

  nil -> Null-pointer to objective- c object

  NIL -> Null-pointer to objective- c class

  null-> null pointer to primitive type or absence of data.

看一下用法

NSURL *url = nil;

Classclass = Nil;

int *pointerInt = NULL;

nil是一个对象指针为空,Nil是一个类指针为空,NULL是基本数据类型为空。这些可以理解为nil,Nil, NULL的区别吧。

你可能感兴趣的:(nil、null和NSNull那些事儿)