2011-01-28 47 views
0

我有一個組件,它被用作很多更復雜組件的基類。
目前這個基地繼承了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,但我想知道是否可以在沒有這個的情況下完成。

回答

0

你看過協議嗎?我用C++不太好,但我認爲這是最接近的事情。