Recibí un error como este - * Aplicación de finalización debido a una excepción no detectada 'NSInvalidArgumentException', razón: ** - [NSCFDictionary initWithObjects: forKeys: count:]: intento de insertar valor nil en los objetos [0] (clave: buscado)'¿Cuáles son las diferencias entre nil, NULL y [NSNULL nil]?
Luego probé el código de abajo
if (Obj == (id)[NSNull null]) //Obj is an id
{
NSLog(@" Obj is (id)[NSNull null]");
}
else if (Obj == nil)
{
NSLog(@"Obj is nil");
}
else if (Obj == NULL)
{
NSLog(@"Obj is NULL");
}
else
{
NSLog(@"Obj is something else");
}
searchedDict = [NSDictionary dictionaryWithObject:Obj forKey:@"searched"];
y me dieron el mensaje de NSLog como 'obj es nil'.
Pero cuando utilicé el mismo código anterior cuando Obj era NSString y mi aplicación se canceló debido a su valor nulo, recibí el mensaje NSLog como 'Obj is (id) [NSNull null]'.
¿Cuáles son las diferencias entre nil, NULL y [NSNULL nil]?
¿Hay diferentes tipos de valores nulos? En caso afirmativo, ¿Cómo verificar comúnmente estos valores nulos?
Gracias :-)
posible duplicado de [iphone + Diferencia entre nil, NIL y null] (http://stackoverflow.com/questions/5908936/iphonedifference-between-nil-nil-and- nulo) –