Проверьте назначенный инициализатор в xcode

Есть ли способ узнать, какой инициализатор назначен в суперклассе в XCode?
Я набираю super(). Init.. затем Xcode показывает все инициализаторы суперкласса. Я хочу знать, есть ли какой-либо знак или символ, чтобы указать, какой из них обозначен?

Также быстрый вопрос. Назначенному инициализатору (DI) в подклассе разрешается вызывать только вспомогательный инициализатор (CI) в суперклассе, поскольку CI в суперклассе будет в конечном итоге вызывать DI в суперклассе. Поправь меня, если я ошибаюсь, спасибо.

2 ответа

Решение

В Swift любой инициализатор, не помеченный ключевым словом "удобство", является назначенным инициализатором.

И назначенные инициализаторы обязаны вызывать назначенный инициализатор в своем непосредственном суперклассе, согласно языку программирования Swift. Они не могут вызвать удобный инициализатор.

Для тех, кто плохо знаком с Xcode - это тоже меня на некоторое время смутило. Отсутствие ключевого слова - это то, что определяет назначенный инициализатор, но в зависимости от того, куда вы посмотрите, вы не всегда увидите ключевое слово «удобство» .

Вы можете увидеть ключевое слово:

  • на странице "Документация разработчика" для отдельного инициализатора
  • в «Быстрой справке» (щелкните правой кнопкой мыши> Показать быструю справку или на панели «Быстрая справка» справа)
  • в определении класса в Xcode (щелкните правой кнопкой мыши> Перейти к определению)

Вы не можете увидеть его, если посмотрите на обзор класса в «Документации разработчика» или в предложениях кода по мере ввода.

(Используя Xcode 13.1)

Другие вопросы по тегам