В текущей книге, которую я читаю, автор реализует IBAction для слайдера следующим образом (см. Ниже V001). На мой взгляд, это показалось немного сложнее, поэтому я пересмотрел код (V002). Правильно ли я считаю, что отправитель является указателем на объект, который уволил событие? Кроме того, есть ли недостаток в отправке отправителя в заголовке, вместо того, чтобы оставлять его в качестве отправителя и отбрасывать его в тело метода?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];
}
Гэри
Благодарим вас за комментарии. Существует ли какое-либо соглашение, в котором по именованию переменной «отправитель» остается неизменным, я мог бы переименовать его «слайдер», чтобы лучше представлять объект в использовании? – fuzzygoat
Немного ловить-22. Наличие (id) отправителя несколько условно, так что вы знаете, что вызывающий селектор является обработчиком для действия для setTarget, для управления движением кнопки/ползунка и т. Д. –
Спасибо, очень оцененный – fuzzygoat