Este é um código de exemplo:
NSDictionary *myDictionary = [NSDictionary dictionary];
NSNumber *myNumber = [myDictionary valueForKey: @"MyNumber"];
NSLog(@"myNumber = %@", myNumber); // output myNumber = (null)
if (myNumber == nil)
NSLog(@"test 1 myNumber == nil");
if (myNumber == NULL)
NSLog(@"test 2 myNumber == NULL");
if ([myNumber isEqual:[NSNull null]])
NSLog(@"test 3 myNumber == [NSNull null]");
Quando devo usar nulo, NULL e [NSNull null]?
nil
significa um tipo de NULL
instância objc. Assim, você pode marcar que um valor específico se destina a instância objc ou ponteiro genérico. Em vista do gerenciamento e segurança do tipo, isso o ajudará muito.
nil
e null
/ NULL
são os mesmos - ambos definidos como zero. Como formalidade, use nil
ao codificar Objective-C e NULL
ao codificar declarações / chamadas regulares em C / C ++. NSNull
é algo totalmente diferente, no entanto. É um objeto singleton que serve como um espaço reservado para representar "nada" em, por exemplo, NSDictionarys onde indicadores nulos / nulos não são permitidos.