Тафовут дар байни Nil ва Null дар контексти барномасозӣ чист?
sobes.tech AI
Ҷавоб аз AI
Дар контексти барномаигозорӣ, махсусан дар iOS ва Objective-C, Nil ва Null маъноҳои гуногун доранд:
-
Nil: ишора ба объекти аст, ки баробар бо сифр (null pointer) барои объектҳои Objective-C. Барои нишон додани набудани объект истифода мешавад (масалан,
NSObject *obj = Nil;). -
NULL: макросест, ки ишора ба ишора ба сифр барои ишораҳои оддӣ ба сохторҳои C ё намудҳои primitives (масалан,
int *ptr = NULL;). -
NSNull: объекти махсус дар Foundation, ки барои намояндагии арзиши null дар коллексияҳо истифода мешавад (масалан, дар
NSArrayёNSDictionary), зеро онҳо наметавонандnilдошта бошанд.
Масалан:
NSObject *obj = Nil; // набудани объект
int *ptr = NULL; // набудани суроға
NSArray *array = @[[NSNull null]]; // объекти, ки null-ро дар дохили массив нишон медиҳад
Аз ин рӯ, Nil — ишора ба ишора ба объекти Objective-C, NULL — барои ишораҳои оддӣ, ва NSNull — объекти-заглушка барои намояндагии null дар коллексияҳо мебошад.