2010-10-24 126 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?