Подтвердить что ты не робот

Какая разница между нолем и нилом

В Objective C?

Они действительно то же самое?

Как проверить, что объект равен нулю?

4b9b3361

Ответ 1

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 (все кепки) является нулевым указателем на что-либо еще.