Вы можете сослаться по этой ссылке
Объектив- C Ничто не равно нулю. nil - указатель объекта на ничто. Хотя семантически отличается от NULL, они технически эквивалентны друг другу.
На уровне платформы Foundation определяет NSNull, который определяет метод класса + null, который определяет одноэлементный NSNull объект. NSNull отличается от nil или NULL тем, что это фактический объект, а не нулевое значение.
Foundation / NSObjcCRuntime.h также определяет Nil как указатель класса на ничто. Этот малоизвестный двоюродный брат nil-case не очень часто появляется, но, по крайней мере, ничего не стоит.
Недавно выделенные NSObjects начинают жизнь с их содержимым, установленным в 0. Это означает, что все точки, которые объект имеет к другим точкам, большим как ноль.