这是一个简单的问题, 我有我的几个视图控制器类,并有一些其他类。 我发现自己在所有的实现文件中都创建了一些方法,这些方法也是如此。
我想在一个单独的文件中写一些我的方法, 并将此文件导入我的视图控制器。 因此,我将能够从我当前的视图控制器
运行这些方法如果此方法需要更改,我不需要在我的所有实现文件中重写它。
让我锐利一件事。我不想创建一个新对象!并实例化它。 我确实希望能够像我一样运行这种方法:[self doSomething];
请帮助理解如何做到这一点。
即。 我有3个视图控制器,每个都有波纹管方法:
-(void)doSomething:(id)sender{
//doing something
}
只想在一个地方定义这个doSomething方法, 我可以通过运行以下命令从我的视图控制器访问它: [self doSomething];
有可能吗?
提前致谢。
答案 0 :(得分:2)
您希望通过子类化来完成此操作。首先创建一个你想要所有共享方法的类,作为UIViewController的子类,让我们称之为BaseViewController。例如,你的头文件中有这个:
@interface BaseViewController: UIViewController
{
}
-(void)doSomething:(id)sender;
@end
然后是.m文件中的相应定义。
现在,当你想创建一个新的UIViewController子类时,它拥有共享方法,使新类成为BaseViewController的子类,而不是UIViewController,如下所示:
@interface MyViewController: BaseViewController
{
}
@end