2010-10-24 122 views
0

我有一个名为myClass的类。这个类有TouchesMoved和TouchesBegan定义。iphone - 将东西添加到类方法

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

例子:

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。

这可能吗?

感谢

回答

1

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

+0

谢谢,就是这样。 – SpaceDog 2010-10-24 09:38:03

2

你就不能调用[超级的touchesBegan:(NSSet中*)触及withEvent:方法(*的UIEvent)事件在Object1的的touchesBegan?