Oto przykładowy kod:
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]");
Kiedy należy używać nil, NULL i [NSNull null]?
niloznacza rodzaj NULLinstancji for objc. Możesz więc oznaczyć określoną wartość, która jest przeznaczona dla instancji objc lub wskaźnika ogólnego. Ze względu na zarządzanie typami i bezpieczeństwo, będzie to bardzo pomocne.
nili null/ NULLsą takie same - oba zdefiniowane jako zero. Jako formalność, używaj nilpodczas kodowania Objective-C i NULLpodczas kodowania zwykłych instrukcji / wywołań C / C ++. NSNulljest jednak czymś zupełnie innym. Jest to obiekt typu singleton, który służy jako symbol zastępczy reprezentujący „nic”, np. W NSDictionarys, w których wskaźniki nil / null nie są dozwolone.