У меня есть компонент, который используется в качестве базового класса для множества более сложных компонентов.
В настоящее время эта база наследуется от UIScrollView.
Теперь я хочу иметь альтернативное базовое представление с 99% той же функциональности, но которое будет наследоваться от UIView.
В C ++ я, скорее всего, сделал бы это с помощью шаблонов, но как это можно сделать в Objective-C?
Пример:
|-- ComplexDerivedClass_1
|
BaseClass -----|-- ComplexDerivedClass_2 |-- EvenMoreComplexDerived_1
| |
|-- ComplexDerivedClass_3 ---|-- EvenMoreComplexDerived_2
|
|-- EvenMoreComplexDerived_3
Моя цель заключается в том, чтобы BaseClass
мог наследовать либо от UIView
, либо от UIScrollView
, и что это будет принято во время выполнения (без создания специальных реализаций каждого производного класса для базы типов UIView или базы типов UIScrollView).
Одно из решений, конечно, состоит в том, чтобы базовый класс наследовал от UIView, и, если необходимо, добавьте в него другой UIScrollView во время выполнения, но мне интересно, можно ли это сделать без этого.