2010-07-04 8 views
0

Salut, je suis en train d'appeler une méthode à partir d'une méthode, je reçois type incompatible pour curseur changé sur le code où je fais appel à la méthode de:Comment appeler une méthode IBAction à partir d'une autre méthode

[self EVsliderChanged: (float)EVslider.value ]; 

Je suppose que cela signifie que float n'est pas le bon type pour uislider.value? ou peut-être me attend de le transmettre quelque chose de différent, ci-dessous est le code psudo de .m:

- (IBAction) EVsliderChanged:(UISlider *)sender { 
    // code I want to run if either EVSliderChanded or PickerView changes 
} 

- (void)pickerView:(UIPickerView *)secPicker didSelectRow:(NSInteger)row inComponent (NSInteger)component { 
[self EVsliderChanged: (float)EVslider.value ]; 
} 

Je suis sûr que je fais quelque chose de mal n00bishly, quelqu'un pourrait-il expliquer s'il vous plaît ce qui se passe mal et me donner un exemple de comment le faire correctement.

Merci

Répondre

0

méthode EVsliderChanged: prévoit que UISlider paramater, pas sa valeur - donc votre appel devrait être

[self EVsliderChanged:EVslider ]; 

et la valeur de curseur pour être récupéré dans la méthode.

P.S. Notez également que la méthode et les noms ivar dans l'objectif-c commencent habituellement par des minuscules - juste une convention, mais quand même ...

+0

Merci pour la réponse super rapide. Cela fait parfaitement sens, merci. Aussi, je vais revenir en arrière et nettoyer mes vars, je suppose que c'est pourquoi ils ont insisté sur nous en utilisant la notation hongroise quand j'ai appris Java. – stephen

Questions connexes