在我正在閱讀的書中,作者以下列方式實現了滑塊的IBAction(請參見下面的V001)。在我看來,這似乎有點過於複雜,所以我重新考慮了代碼(V002)。我是否認爲sender是指向觸發事件的對象的指針?另外,在頭文件中發送發件人是否有任何缺點,而不是將其作爲發件人並將其轉換到方法體中?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 2010-01-21 15:29:32
有點抓住了22。擁有(id)發件人在某種程度上是約定,以便您知道所調用的選擇器是針對setTarget的操作的處理程序,用於按鈕單擊/滑塊控件移動等。 – 2010-01-21 16:56:15
非常感謝 – fuzzygoat 2010-01-21 17:59:52