0

我已经用我想要的几个函数扩展了 UIVIewController 类。

我想将相同的功能添加到 UITableViewController 类,我的意思是,也扩展该类。

为了做到这一点,我必须将扩展 viewController 类上的所有方法复制到一对新的文件中,这些文件将用于扩展 tableViewController 类。对不起我的无知,但是有一种方法可以在没有冗余的情况下扩展这两个类?我的意思是,只有一个通用扩展类(?)可以被 viewController 和 tableViewController 扩展文件继承?对不起,如果这很混乱。我的意思是,而不是这个:

UIViewController+extensions.h
UIViewController+extensions.m

两者都包含许多 UIViewController 类的扩展方法和

UITableViewController+extensions.h
UITableViewController+extensions.m

两者都包含很多 UITableViewController 类的扩展方法。

我要这个:

GenericExtension.h
GenericExtension.m

这个,包含扩展方法

然后,

UIViewController+extension 和 UITableViewController+extension,都继承了 GenericExtension,所以我只有一份扩展方法。

那可能吗?

4

2 回答 2

4

如果您不使用继承而是使用类别UIViewController(正如您的文件命名所暗示的那样),那么这些方法也将可用UITableViewController。确保在子类中导入头文件UITableViewController

于 2012-10-17T19:33:34.503 回答
0

选项1:

将所有方法写入(GenericExtension.h/.m)使其成为 UIViewController 类型

后来在里面UIViewController

@interface RootViewController : Generic Extensions

你可以对UITableViewControllersince UITableViewControlleris derived from做同样的事情UIViewController

于 2012-10-17T19:34:14.160 回答