Voici un exemple de code:
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]");
Quand dois-je utiliser nil, NULL et [NSNull null]?
nil
signifie une sorte d' NULL
instance for objc. Ainsi, vous pouvez marquer qu'une valeur spécifique est destinée à une instance objc ou à un pointeur générique. Compte tenu de la gestion des types et de la sécurité, cela vous aidera beaucoup.
nil
et null
/ NULL
sont les mêmes - tous deux définis comme étant zéro. Par formalité, à utiliser nil
lors du codage d'Objective-C et NULL
lors du codage d'instructions / d'appels C / C ++ normaux. NSNull
est quelque chose d'entièrement différent, cependant. C'est un objet singleton qui sert d'espace réservé pour représenter "rien" dans, par exemple, les NSDictionary où les pointeurs nil / null ne sont pas autorisés.