【发布时间】:2015-06-20 09:28:09
【问题描述】:
我已经养成了一个很好的习惯,即为 NSNotification 名称之类的东西声明和使用常量字符串。我这样声明它们:
extern NSString * const ABCAwesomeThingHappenedNotification;
随着 Xcode 6.3 和 Swift 1.2 的推出,我将返回并使用新的 nonnull、nullable 和 null_unspecified 限定符审核与 Swift 互操作的 Objective-C 类。
将限定符添加到也具有外部可见静态字符串的标头时,我收到以下警告:
警告:指针缺少可空性类型说明符(__nonnull 或 __nullable)
嗯。这令人困惑/有趣。有人可以解释此消息背后的原因吗?在 Swift 中使用 ABCAwesomeThingHappenedNotification 时,它从不暗示它是可选字符串或隐式解包字符串。
【问题讨论】:
-
不同的问题,但在这种情况下也可能很有趣:Swift 1.2 optional external variable?。
-
2018 年 4 月。仍然需要为 extern * 声明 __nonnull 以避免错误。
标签: objective-c swift objective-c-nullability