title: When to use static string vs. #define
body: <p>I am a little confused as to when it's best to use:</p>
  
  <pre><code>static NSString *AppQuitGracefullyKey = @"AppQuitGracefully";
  </code></pre>
  
  <p>instead of</p>
  
  <pre><code>#define AppQuitGracefullyKey    @"AppQuitGracefully"
  </code></pre>
  
  <p>I've seen questions like this for C or C++, and I think what's different here is that this is specifically for Objective C, utilizing an object, and on a device like the iPhone, there may be stack, code space or memory issues that I don't yet grasp.</p>
  
  <p>One usage would be:</p>
  
  <pre><code>appQuitGracefully =  [[NSUserDefaults standardUserDefaults] integerForKey: AppQuitGracefullyKey];
  </code></pre>
  
  <p>Or it is just a matter of style?</p>
  
  <p>Thanks.</p>