基本概念
- nil: Defines the id of a null instance (官方),指向一個(實例)對象的空指針
- Nil: Defines the id of a null instance (官方),指向一個類的空指針
- NULL: 指向其他類型(基本類型、c類型)的空指針
- NSNull: 通常表示集合中的空值
nil和NULL從字面意思來理解比較簡單,nil是一個對象,而NULL是一個值,其中nil是將對象設置為空,而NULL是將基本類型設置為空的。而且對于nil調用方法,是不會產生crash或者拋出異常。空指針是指該指針未指向一塊有意義的內存區。
比如:
NSString *str = nil;
Class class = Nil;
int *pointerInt = NULL;
其中,nil是一個對象指針為空,Nil是一個類指針為空,NULL是基本類型為空。