Если у меня есть класс Christmas
и протокол Merry
, чтобы сделать Christmas
соответствовать Merry
, многие люди будут делать это таким образом:Почему мы добавляем соответствие протокола с расширениями?
class Christmas {
...
}
extension Christmas: Merry {
...
}
Он также воодушевлены Apple.
Однако не удобнее ли просто соответствовать классу протокол, если он определен? Как это:
class Christmas: Merry {
...
}
В чем разница между этими 2 методами?
Нет большой разницы, первая из них просто аккуратная, так как вашему корневому классу не нужно будет обрабатывать все ошибки, вызванные функциями протокола. – rptwsthi
Я использую его, чтобы мои коды были аккуратными, помещая основные функции класса в исходный файл, а все методы делегирования в другом. Также расширить существующие классы, как это сделано. –
Возможный дубликат http://stackoverflow.com/questions/36263892/extensions-in-my-own-custom-class или http: // stackoverflow.ком/вопросы/40502086/как к должным потребительных класса-расширения-в-стрижа. –