Це зразок коду:
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]");
Коли я повинен використовувати nil, NULL та [NSNull null]?
nilозначає різновид NULLдля об'єкта objc. Таким чином, ви можете позначити конкретне значення, призначене для екземпляра objc або загального вказівника. Зважаючи на управління типом та безпеку, це вам дуже допоможе.
nilта null/ NULLє однаковими - обидва визначені як нульові. В якості формальності використовуйте nilпри кодуванні Objective-C та NULLпри кодуванні регулярних C / C ++ операторів / викликів. NSNullце щось зовсім інше. Це однотонний об'єкт, який виконує функції "місця" для відображення "нічого", наприклад, NSDictionarys, де покажчики нуля / нуль не дозволені.