2013-09-01 15 views
5

Jestem stosunkowo doświadczonym programistą iOS, jednak jedna rzecz zawsze mnie niepokoiła, jaka jest różnica między Nil (Capital) i zero (małe litery) i NULL (jeśli jakieś) pod względem wydajności i użytkowania? Jestem absolutnie pewien, że istnieje między nimi różnica, dlaczego byłyby zdefiniowane jako osobno na pierwszym miejscu ...Różnica między zerową a zerową i zerową w Objective-C

+1

http://stackoverflow.com/a/1564846/1404239 –

+0

dzięki chłopaki, to bardzo pomaga;) – virindh

Odpowiedz

15

Podstawową ideą jest użycie NULL dla wskaźników C (0 dla prymityków C), zero dla Obiektywne instancje C, zero dla klas Celu C i NSNull jako sposób na udawanie, że nic nie jest czymś tak, że można przechowywać instancję niczego w tablicy lub słowniku.

Wielki opis ten i źródło wartości podanych poniżej, można znaleźć w:

NULL (void *) 0 dosłownym wartość zerowa dla C wskaźniki

zero (Id) 0 dosłownym wartość zerowa dla cel C obiektów

zero (klasa) 0 dosłownym wartość zerowa dla klas celu C

NSNull [NSNull null] pojedyncza obiektów wykorzystywanych do reprezentowania null