2012-10-17 51 views
0

我已經用我想要的幾個函數擴展了UIVIewController類。iOS - 在一箇中擴展兩個類

我想添加相同的功能到UITableViewController類,我的意思是,也擴展該類。

爲了做到這一點,我必須將擴展viewController類中的所有方法複製到一對新的文件中,這些文件將用於擴展tableViewController類。對不起,我的無知,但有一種方法可以擴展兩個類沒有冗餘?我的意思是,只有一個可以被viewController和tableViewController擴展文件繼承的通用擴展類(?)?對不起,如果這是混淆。我的意思是那不是這個:

UIViewController+extensions.h 
UIViewController+extensions.m 

都含有大量的擴展方法的UIViewController類和

UITableViewController+extensions.h 
UITableViewController+extensions.m 

都含有大量的擴展方法的類的UITableViewController。

我想這一點:

GenericExtension.h 
GenericExtension.m 

這包含擴展方法

然後,

的UIViewController +擴展和的UITableViewController +擴展,既繼承GenericExtension,所以我只是一個副本擴展方法。

這可能嗎?

+0

這稱爲多重繼承。 Objective-C沒有這個。 – 2012-10-17 19:16:38

回答

4

如果不使用繼承,但是,UIViewController類別(如您的文件命名建議),這些方法將在UITableViewController可用。確保在你的UITableViewController子類中導入你的頭文件。

+0

duhhh !!!明顯!我覺得我的大腦很累,我沒有看到!謝謝。 – SpaceDog

0

選項1:

寫(GenericExtension.h/.M)所有的方法使得類型的UIViewController

後來裏面UIViewController

@interface RootViewController : Generic Extensions 

你可以這樣做與UITableViewController因爲UITableViewController來自UIViewController