Как заставить 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: вы можете добавить отсутствующие требования к протоколу, добавив новый ярлык в ваш набор привязок клавиш
- В верхнем меню Xcode (вверху слева) выберите "Настройки".
- Выберите связывание клавиш.
- Поиск по протоколу. вы найдете Команду с именем
Refactor → Add Missing Protocol Requirements
- Нажмите на ключевой столбец, затем добавьте свой ярлык.
ex: cmd + shift + M
Теперь вы можете добавить отсутствующие требования к протоколу, нажав на имя класса (или его расширение), а затем нажмите на ярлык
![enter image description here]()
Ответ 4
Очень похожий на пост Amjad, Xcode 9/10 предоставляет функциональность для добавления отсутствующих требований к протоколу прямо из редактора кода.
Просто "щелкните правой кнопкой мыши" по имени класса: "Refactor" → "Добавить недостающие требования протокола" ![enter image description here]()
Ответ 5
Xcode не сделает это за вас.
Если вы посмотрите на документацию по протоколу, в нем четко обозначены функции, которые вы должны реализовать:
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITableViewDataSource_Protocol/