nil, Nil, NULL, NSNull по-русски

Поговорим о Ноле. Тема интересеная, поэтому по-русски.

Ноль в Objective-C представлен в виде четырех частоиспользуемых штук: nil, Nil, NULL и NSNull.

Что это все значит?

  • nil
    это нолевая ссылка на объект. По этому адресу ничего нет.
  • Nil
    это нолевая ссылка на класс. (Классы принято именовать с заглавной.)
  • NULL
    это ноль. Чистый сишный ноль. Собственно, nil и Nil — это синонимы NULL.
  • [NSNull null]
    возвращает нолевой объект. Пустой объект, в нем ничего нет, но он существует, и у него есть адрес. Это синглтон, и у него есть единственный метод класса: + (NSNull *)null;

***

Что интересно, nil используется, например, в методе [NSArray arrayWithObjects:(id), ..., nil]. Тут ноль означает конец перечисления объектов. А на самом деле, это обычная сишная конструкция va_list, которая выполняется, пока, например, не найдет ноль.

Поделиться
Отправить
2013   Objective-C
Популярное