Questo è un codice di esempio:
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 dovrei usare zero, NULL e [NSNull null]?
nil
significa una specie di NULL
per esempio objc. Quindi è possibile contrassegnare un valore specifico destinato all'istanza di objc o al puntatore generico. In vista della gestione del tipo e della sicurezza, questo ti aiuterà molto.
nil
e null
/ NULL
sono uguali - entrambi definiti come zero. Come formalità, utilizzare nil
quando si codifica Objective-C e NULL
quando si codificano le normali istruzioni / chiamate C / C ++. NSNull
è qualcosa di completamente diverso, tuttavia. È un oggetto singleton che funge da segnaposto per rappresentare "nulla" in, ad esempio, NSDictionarys in cui non sono consentiti puntatori nil / null.