我已经使用我想要的几个函数扩展了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 +扩展和UITableViewController +扩展,都继承了GenericExtension,所以我只有一个扩展方法的副本。
这可能吗?
答案 0 :(得分:4)
如果您不使用继承而是使用UIViewController
上的类别(正如您的文件命名所示),那么这些方法也可以在UITableViewController
中使用。确保在UITableViewController
子类中导入头文件。
答案 1 :(得分:0)
选项1:
在( GenericExtension.h / .m )中编写所有方法,使其类型为UIViewController
稍后在UIViewController
@interface RootViewController : Generic Extensions
您可以对UITableViewController
执行相同的操作,因为UITableViewController
来自UIViewController
。