Я получил довольно хорошую привычку объявлять и использовать постоянные строки для таких вещей, как имена NSNotification. Я объявляю их так:
extern NSString * const ABCAwesomeThingHappenedNotification;
С введением Xcode 6.3 и Swift 1.2 я возвращаюсь и проверяю классы Objective-C, которые взаимодействуют с Swift, используя новые квалификаторы nonnull, nullable и null_unspecified.
При добавлении квалификаторов в заголовок, который также имеет внешние видимые статические строки, я получаю следующее предупреждение:
предупреждение: указателю не указан спецификатор типа nullability (__nonnull или __nullable)
Хм. Это запутанное/интересное. Может кто-нибудь объяснить причины этого сообщения? При использовании ABCAwesomeThingHappenedNotification в Swift он никогда не предполагает, что это необязательная строка или неявно развернутая строка.