Я хочу использовать функцию nullability Objective-C. Но следует ли мне аннотировать файл с нулевым/ненулевым реализацией или только интерфейс?
Должен ли я использовать файл с возможностью NULL/nonnull в файле реализации
Ответ 1
Единственная причина объявить обнуляемость - это получить обратную связь от компилятора (см. https://developer.apple.com/swift/blog/?id=25).
Как наилучшая практика, вы всегда должны указывать в своих объявлениях значения NULL и nonnull (или _Nullable и _Nonnull).
Итак, вы должны сделать это для всех своих интерфейсов, но в зависимости от ваших стандартов кодирования вы можете реализовать методы с областью действия класса (или категории) без их объявления, и в этом случае объявление является реализацией, и вы должны объявить их значения неопределенности.
Вы всегда можете объявлять обнуляемость для реализаций, объявленных в интерфейсах, но, на мой взгляд, это ухудшает ремонтопригодность.