ObjectiveC: if (obj) {…} UND if (obj! = Nil) {…}, was ist besser?

Ich habe viel ObjC-Code gesehen, der Folgendes bewirkt:

obj = [[SomeObject alloc] init];
if (obj) {
/// ...
}

aber wie ich es verstanden habe, ist der Wert in () ein Boolescher Wert, und 0 gibt FALSCH an. 1 gibt WAHR an (es gibt einen anderen Fall in einer anderen Sprache, in dem 0 wahr und 1 falsch ist). Wenn ein Zeiger auf nichts zeigt, es wird auf NULL (nil) gesetzt, was #definiert ist, um 0 zu sein, also frage ich mich, ob es besser ist, wenn ich es tue:

if (obj != nil) {
/// ...
}

Wie es prüft, ob das Objekt Null ist oder nicht, egal welchen Wertnil ist, so dass es nicht darauf ankommtnil (oderNULL) zufällig als 0 definiert?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage