NULL、nil、Nil這三者對于Objective-C中值是一樣的,都是(void *)0,那么為什么要區分呢?又與NSNull之間有什么區別:
NULL是宏,是對于C語言指針而使用的,表示空指針
nil是宏,是對于Objective-C中的對象而使用的,表示對象為空
Nil是宏,是對于Objective-C中的類而使用的,表示類指向空
NSNull是類類型,NSNull是繼承于NSObject的類型。它是很特殊的類,它表示是空,什么也不存儲,但是它卻是對象,只是一個占位對象,是用于表示空的占位對象,與JS或者服務端的null類似的含意