title: When should I use nil and NULL in Objective-C?
body: <p>This is sample code:</p>
  
  <pre><code>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]");
  </code></pre>
  
  <p>When should I use nil, NULL and [NSNull null]?</p>