Sobes.tech
Junior — Middle

Quelle est la différence entre Nil et Null dans le contexte de la programmation?

sobes.tech IA

Réponse de l'IA

Dans le contexte de la programmation, en particulier en iOS et Objective-C, Nil et Null ont des significations différentes :

  • Nil : est un pointeur vers un objet qui est égal à zéro (pointeur nul) pour les objets Objective-C. Il est utilisé pour indiquer l'absence d'un objet (par exemple, NSObject *obj = Nil;).

  • NULL : est une macro qui indique un pointeur nul pour les pointeurs normaux vers des structures C ou des types primitifs (par exemple, int *ptr = NULL;).

  • NSNull : est un objet spécial dans Foundation, utilisé pour représenter une valeur null dans les collections (par exemple, dans NSArray ou NSDictionary), car elles ne peuvent pas contenir nil.

Exemple :

NSObject *obj = Nil;       // pas d'objet
int *ptr = NULL;           // pas d'adresse
NSArray *array = @[[NSNull null]]; // objet représentant null dans un tableau

Ainsi, Nil est un pointeur nul pour les objets Objective-C, NULL pour les pointeurs normaux, et NSNull est un objet substitut pour représenter null dans les collections.