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?