24

NSNotification私は、名前のようなものに定数文字列を宣言して使用するというかなり良い習慣を身につけました。私はそれらを次のように宣言します:

extern NSString * const ABCAwesomeThingHappenedNotification;

nonnullXcode 6.3 と Swift 1.2 の導入に伴い、新しい、nullable、およびnull_unspecified修飾子を使用して、Swift と相互運用する Objective-C クラスに戻って監査しています。

外部から見える静的文字列も含むヘッダーに修飾子を追加すると、次の警告が表示されます。

警告: ポインターに null 許容型指定子 (__nonnull または __nullable) がありません

うーん。それは紛らわしい/興味深いです。誰かがこのメッセージの背後にある理由を説明できますか? Swift で使用ABCAwesomeThingHappenedNotificationする場合、オプションの文字列または暗黙的にラップされていない文字列であることを示唆することはありません。

4

2 に答える 2

33

この指定子が必要ではないことに同意しますが、構文は次のとおりです

extern NSString * const MyConstant;

extern NSString * __nonnull  const MyConstant;
于 2015-05-07T09:14:34.777 に答える