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, которая выполняется, пока, например, не найдет ноль.