Переопределение методов в расширениях Swift
Я стараюсь помещать только необходимые (сохраненные свойства, инициализаторы) в определения моих классов и перемещать все остальное в свои собственные extension, вроде как отдельный extensionлогический блок, с которым я бы тоже сгруппировал // MARK:. Например, для подкласса UIView я бы получил расширение для вещей, связанных с макетом, одно для подписки и …