【发布时间】:2011-01-28 07:12:47
【问题描述】:
我有一个组件用作许多更复杂组件的基类。
目前这个基础继承自 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,但我想知道是否可以不这样做。
【问题讨论】: