ObjectiveC: if (obj) {…} AND if (obj! = Nil) {…}, ¿cuál es mejor?
He visto muchos códigos de ObjC que hacen:
obj = [[SomeObject alloc] init];
if (obj) {
/// ...
}
pero como lo entendí, el valor inside () es booleano, y 0 indica que FALSO 1 indica VERDADERO (hay otro caso en otro idioma que 0 es verdadero y 1 es falso), y si un puntero no apunta a nada, se establece en NULL (nil), que # está definido para ser 0, así que me pregunto si es mejor si lo hago:
if (obj != nil) {
/// ...
}
Como está comprobando si el objeto es nulo o no, no importa qué valornil
es, por lo que no se basa en esonil
(oNULL
) pasa a ser definido como 0?