2012-04-06 75 views
0

一個簡單的問題,因爲我無法快速找到我的問題的任何特殊答案。如何添加更多屬性的目標?

我有這樣的方法:

- (void)changeValueForEasy:(UISlider *)slider offset:(int)offset {} 

我試圖用事件來調用它,但我不知道如何添加一個額外的對象,如「偏移」這樣的:

[blueSlider addTarget:self action:@selector(changeValueForEasy:) forControlEvents:UIControlEventValueChanged]; 

回答

2

也許這樣的事情

[blueSlider addTarget:self action:@selector(sliderDragged:) forControlEvents:UIControlEventValueChanged]; 

然後

- (void)sliderDragged:(UISlider *)slider; 
{ 
    [self changeValueForEasy:slider offset:slider.value]; 
} 

方法名稱暗示它設置滑塊的值,您想要調用此方法的事實表明,當值更改時,您會執行一些額外的處理。我建議將附加處理抽象爲另一種方法,否則滑塊的值將被設置兩次。

+0

它的工作原理,但並不簡化我的代碼...我需要在那裏定義'偏移',我稱之爲動作... – 2012-04-07 08:52:36

+0

我不知道'changeValueForEasy:offset:'內部會發生什麼我不能說是否有更好的方法。你能展示實現嗎? – 2012-04-07 09:04:26