Я пытаюсь понять, как добавить соответствие протокола экземпляру, если экземпляр имеет определенное значение. Это «глупый» пример того, что я пытаюсь понять.Быстрые протоколы: добавление соответствия протокола экземпляру
enum TypeOfFigure {
case square, circle, triangle
}
protocol Figure {
var type: TypeOfFigure { get }
}
protocol Square {}
protocol Circle {}
protocol Triangle {}
class FigureType: Figure {
let type: TypeOfFigure
init (type: TypeOfFigure) {
self.type = type
switch type {
case .square: //extension self: Square {}
case .circle: //extension self: Circle {}
case .triangle: //extension self: Triangle {}
}
}
}
Гораздо лучший подход ИМО. –
Спасибо, это мой реальный подход, но в этом случае я должен объявить слишком много классов, я искал что-то более совпадающее. –
@AndreaMiotto Можете ли вы обновить свое сообщение с помощью методов/свойств этих протоколов? Это может помочь мне подумать о других решениях –