title: iOS: Best way to have a global string - as for a notification name
body: <p>I keep reading different things about this and it seems dangerously confusing. Can someone please tell me the proper pattern to define notification strings that can be used globally? Everything I've tried have caused linker errors. For example, in my GlobalVariables singleton I added:</p>
  
  <pre><code>#import &lt;Foundation/Foundation.h&gt;
  extern NSString *kMPTimeChanged;
  
  @interface GlobalVariables : NSObject etc. 
  </code></pre>
  
  <p>And then in the init:</p>
  
  <pre><code>@implementation GlobalVariables
  
  #pragma mark Singleton Methods
  
  + (id)sharedGlobals {
      static GlobalVariables *sharedGlobals = nil;
      static dispatch_once_t onceToken;
      dispatch_once(&amp;onceToken, ^{
          sharedGlobals = [[self alloc] init];
  
      });
      return sharedGlobals;
  }
  
  - (id)init {
      if (self = [super init]) {
  
        kMPTimeChanged=@"kMPTimeChanged";
  
      return self;
  }
  </code></pre>
  
  <p>It didn't build, I got multiple errors.</p>