iphone - 向类方法添加内容

时间:2010-10-24 07:47:53

标签: iphone

我有一个名为myClass的类。这个类定义了TouchesMoved和TouchesBegan。

此类由其他3个类使用。但我需要为每个类添加更多代码,添加到相同的TouchesMoved和TouchesBegan方法,而不会覆盖已经在其类中的代码。我的意思是,如果我将一个TouchesBegan方法添加到3个类之一,它将不会使用该方法的类定义。相反,我希望能够添加代码,而不是替换。

示例:

MyClass
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[self doStuff1];
}


Object1 based on MyClass
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[self doStuff2];
}

当object1的touchesBegan运行时,它将调用doStuff2和doStuff1,而不仅仅是doStuff2。

这可能吗?

感谢

2 个答案:

答案 0 :(得分:2)

你不能在Object1的touchesBegan中调用[super touchesBegan:(NSSet *)触及withEvent:(UIEvent *)事件吗?

答案 1 :(得分:1)

我想说这取决于解决方案的设计。如果想法是你的基类处理那些事件,并且介于两者之间使得派生类有机会做自己的事情,那么你可以声明像onTouchesBegan这样的方法,从基类的touchesBegan实现中调用它,并在您需要的派生类。这比依赖派生类调用基类更不容易出错。基地也将控制事物的顺序。