Це зразок коду:
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, де покажчики нуля / нуль не дозволені.