swift - Objective-C Nullability: Qualifying Constant Strings -
i have gotten pretty habit of declaring , using constant strings things nsnotification names. declare them so:
extern nsstring * const abcawesomethinghappenednotification; with introduction of xcode 6.3 , swift 1.2, i'm going , auditing objective-c classes interop swift using new nonnull, nullable, , null_unspecified qualifiers.
when adding qualifiers header has externally visible static strings, receive following warning:
warning: pointer missing nullability type specifier (__nonnull or __nullable)
hmm. that's confusing / interesting. can explain reasoning behind message? when using abcawesomethinghappenednotification in swift, never suggests it's optional string or implicitly unwrapped string.
in implementation, define:
nsstring * const abcawesomethinghappenednotification = @"abcawesomethinghappenednotification"; in case pointer nonnull. however, valid:
nsstring * const abcawesomethinghappenednotification = nil; which must considered nullable because pointer null pointer.
(the explicit initialisation nil redundant since happens implicitly if no initial value provided, clarifies example.)
Comments
Post a Comment