这是示例代码:
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
for objc实例。这样就可以标记特定的值,供objc实例或通用指针使用。鉴于类型管理和安全性,这将对您有很大帮助。
nil
和null
/ NULL
相同-都定义为零。作为形式,nil
在编写Objective-C和NULL
编写常规C / C ++语句/调用时使用。 NSNull
但是完全不同。它是一个单例对象,用作占位符,以表示“无”,例如,在NSDictionarys中不允许使用nil / null指针。