Проверьте назначенный инициализатор в xcode
Есть ли способ узнать, какой инициализатор назначен в суперклассе в XCode?
Я набираю super(). Init.. затем Xcode показывает все инициализаторы суперкласса. Я хочу знать, есть ли какой-либо знак или символ, чтобы указать, какой из них обозначен?
Также быстрый вопрос. Назначенному инициализатору (DI) в подклассе разрешается вызывать только вспомогательный инициализатор (CI) в суперклассе, поскольку CI в суперклассе будет в конечном итоге вызывать DI в суперклассе. Поправь меня, если я ошибаюсь, спасибо.
2 ответа
В Swift любой инициализатор, не помеченный ключевым словом "удобство", является назначенным инициализатором.
И назначенные инициализаторы обязаны вызывать назначенный инициализатор в своем непосредственном суперклассе, согласно языку программирования Swift. Они не могут вызвать удобный инициализатор.
Для тех, кто плохо знаком с Xcode - это тоже меня на некоторое время смутило. Отсутствие ключевого слова - это то, что определяет назначенный инициализатор, но в зависимости от того, куда вы посмотрите, вы не всегда увидите ключевое слово «удобство» .
Вы можете увидеть
- на странице "Документация разработчика" для отдельного инициализатора
- в «Быстрой справке» (щелкните правой кнопкой мыши> Показать быструю справку или на панели «Быстрая справка» справа)
- в определении класса в Xcode (щелкните правой кнопкой мыши> Перейти к определению)
Вы не можете увидеть его, если посмотрите на обзор класса в «Документации разработчика» или в предложениях кода по мере ввода.
(Используя Xcode 13.1)