Dans le livre que je suis en train de lire, l'auteur implémente un IBAction pour un curseur de la manière suivante (voir ci-dessous V001). À mon avis, cela semblait un peu compliqué alors j'ai refait le code (V002). Ai-je raison de penser que l'expéditeur est un pointeur vers l'objet qui a déclenché l'événement? En outre, y a-t-il un inconvénient à lancer l'expéditeur dans l'en-tête, plutôt que de le laisser comme expéditeur et de le lancer dans le corps de la méthode?Méthode d'action iPhone UISlider
v001
-(IBAction)sliderChange:(id)sender {
UISlider *slider = (UISlider *)sender;
int progressAsInt = (int)([slider value] + 0.5f);
NSString *newText = [[NSString alloc] initWithFormat:@"%d", progressAsInt];
[sliderLabel setText:newText];
[newText release];
}
v002
-(IBAction)sliderChange:(UISlider*)sender {
NSString *newText = [[NSString alloc] initWithFormat:@"%d",(int)[sender value]];
[sliderLabel setText:newText];
[newText release];
}
gary
Merci pour vos commentaires. Y a-t-il une convention où la dénomination de la variable "expéditeur" doit rester inchangée, je pourrais la renommer "slider" pour mieux représenter l'objet utilisé? – fuzzygoat
Un peu de catch-22. Avoir (id) expéditeur est un peu la convention pour que vous sachiez que le sélecteur appelé est un gestionnaire pour une action pour setTarget, pour un mouvement de contrôle de clic/curseur, etc. –
Merci, très apprécié – fuzzygoat