ObjectiveC: if (obj) {…} AND if (obj! = Nil) {…}, co jest lepsze?
Widziałem dużo kodu ObjC, który:
obj = [[SomeObject alloc] init];
if (obj) {
/// ...
}
ale jak zrozumiałem, wartość wewnątrz () jest wartością logiczną, a 0 oznacza FAŁSZ 1 oznacza PRAWDA (jest inny przypadek w innym języku, w którym 0 jest prawdziwe, a 1 fałszywe), a jeśli wskaźnik nie wskazuje niczego, jest ustawiona na NULL (zero), która jest # zdefiniowana jako 0, więc zastanawiam się, czy jest lepiej, jeśli to zrobię:
if (obj != nil) {
/// ...
}
ponieważ sprawdza, czy obiekt jest zerowy, czy nie, bez względu na wartośćnil
jest, więc nie polega na tymnil
(lubNULL
) zostało zdefiniowane jako 0?