Как заставить Xcode автоматически соответствовать протоколу

Когда я использую представление таблицы прототипов, мне всегда приходится соответствовать протоколу TableViewDataSource. Я всегда забываю, какие методы мне нужно реализовать, поэтому я должен каждый раз смотреть на источник протокола. Это занимает много времени.

Я думаю, что у Xcode должна быть функция, которая автоматически реализует нужные вам методы, верно? Также как IntelliJ IDEA, Eclipse и Visual Studio.

Я хочу знать, где я могу найти эту функцию. Если этого не происходит, есть ли обходной путь для этого? По крайней мере, мне не нужно открывать исходный код протокола каждый раз, когда я ему соответствую.

Если вы не понимаете, что я имею в виду, вот какой-то код:

У меня есть протокол

protocol Hello {
    func doStuff ()
}

Когда я соглашусь с ним,

class MyClass: Hello {

}

Я часто не помню имена методов, которые мне нужно реализовать. Если Xcode имеет функцию, которая превращает вышеуказанный код, в это:

class MyClass: Hello {
    func doStuff () {
        code
    }
}

Теперь вы понимаете, что я имею в виду? Я просто хочу спросить, где найти такую ​​функцию.

Ответы

Ответ 1

Хорошо, если я понял вашу проблему, то вот обходной путь:

попробуйте определить методы с протоколом как префикс, как здесь hello, тогда вам не нужно будет помнить, что методы просто начинают вводить имя протокола, и XCODE предложит вам все доступные методы, см. здесь:

введите описание изображения здесь

И если вы хотите, чтобы протокол автозаполнения пытался Snippets

Ответ 2

Xcode 9 заботится о внедрении обязательных методов Swift Datasource & Delegates.

Посмотрите на эти снимки, на примере UICollectionViewDataSource:

Указание на предупреждение для реализации методов протокола:

enter image description here

Нажав на кнопку "Исправить", он добавил все обязательные методы:

enter image description here

Ответ 3

Xcode 9: вы можете добавить отсутствующие требования к протоколу, добавив новый ярлык в ваш набор привязок клавиш

  1. В верхнем меню Xcode (вверху слева) выберите "Настройки".
  2. Выберите связывание клавиш.
  3. Поиск по протоколу. вы найдете Команду с именем Refactor → Add Missing Protocol Requirements
  4. Нажмите на ключевой столбец, затем добавьте свой ярлык. ex: cmd + shift + M

Теперь вы можете добавить отсутствующие требования к протоколу, нажав на имя класса (или его расширение), а затем нажмите на ярлык

enter image description here

Ответ 4

Очень похожий на пост Amjad, Xcode 9/10 предоставляет функциональность для добавления отсутствующих требований к протоколу прямо из редактора кода.

Просто "щелкните правой кнопкой мыши" по имени класса: "Refactor" → "Добавить недостающие требования протокола" enter image description here