title: Objective-C: What's the difference between NULL, nil and @""?
body: <p>As the title says, what's the difference between <code>NULL</code>, <code>nil</code> and <code>@""</code> ?</p>
  
  <p>For example, if I want to check a string in a dictionary is empty.</p>
  
  <p>Which condition should I use ?</p>
  
  <pre><code>if ([dictionary objectForKey:@"aString"] == nil)
  </code></pre>
  
  <p>or</p>
  
  <pre><code>if [[dictionary objectForKey:@"aString"] isEqualToString:@""]
  </code></pre>
  
  <p>or</p>
  
  <pre><code>if ([dictionary objectForKey:@"aString"] == NULL)
  </code></pre>
  
  <p>Which one is right ?</p>