nil与NULL的区别?


从Objective-C语言的官方说法上看

  • nil表示指向对象的指针即所谓对象的引用为空
  • NULL表示指向基础类型变量即C语言变量的指针为空

如果在非ARC程序的编写过程中,两个空是可以互换的,但是在ARC环境下,普通指针和对象引用被严格限制,不能交换使用,因此也应尽量不互换使用nilNULL