title: Objective-C Nullability: Qualifying Constant Strings
body: <p>I have gotten into a pretty good habit of declaring and using constant strings for things like <code>NSNotification</code> names. I declare them like so:</p>
  
  <pre><code>extern NSString * const ABCAwesomeThingHappenedNotification;
  </code></pre>
  
  <p>With the introduction of Xcode 6.3 and Swift 1.2, I'm going back and auditing Objective-C classes that interop with Swift using the new <code>nonnull</code>, <code>nullable</code>, and <code>null_unspecified</code> qualifiers.</p>
  
  <p>When adding the qualifiers to a header that also has externally visible static strings, I receive the following warning:</p>
  
  <blockquote>
    <p>warning: pointer is missing a nullability type specifier (__nonnull or __nullable)</p>
  </blockquote>
  
  <p>Hmm. That's confusing / interesting. Can someone explain the reasoning behind this message? When using <code>ABCAwesomeThingHappenedNotification</code> in Swift, it never suggests that it's an optional String or implicitly unwrapped String.</p>