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]?
nilsignifie une sorte d' NULLinstance 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.
nilet null/ NULLsont les mêmes - tous deux définis comme étant zéro. Par formalité, à utiliser nillors du codage d'Objective-C et NULLlors du codage d'instructions / d'appels C / C ++ normaux. NSNullest 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.