Nil и Nil определяются как одно и то же (__DARWIN_NULL) и означают недействительность (нулевой указатель, например NULL). Nil предназначен для указателей классов, а Nil предназначен для указателей объектов (вы можете прочитать больше на нем objc.h; поиск Nil), Наконец, вы можете проверить значение null следующим образом:
if (object == nil)
или вот так:
if (!object)
поскольку логические оценки сделают любой действительный указатель, который содержит объект, который будет иметь значение true.
Ответ 2
nil является константой Objective-C для нулевого указателя на объект, nil определяется идентично. На практике он имеет то же значение, что и константа C NULL. Проверьте нулевой объект следующим образом:
if (fooObj == nil)
В моем коде я обычно использую nil для Objective-C объектов и NULL для других указателей C. Это вопрос личного вкуса - в настоящее время nil и NULL взаимозаменяемы для сравнения во всех существующих реализациях Objective-C.
Ответ 3
nil (все строчные буквы) является нулевым указателем на объект Objective-C.
Nil (с заглавной буквы) является нулевым указателем на класс Objective-C.
NULL (все кепки) является нулевым указателем на что-либо еще.