iOS_(id)sender

来源:互联网 发布:淘宝拍卖和个人闲置 编辑:程序博客网 时间:2024/06/03 17:02
在IOS开发中根据(id)sender获取控件信息(UIButton,UITextField)
-(IBAction) editingEnded:(id) sender{   // the cast goes here, lets assume there's more than one UITextfield    // in this Owner and you want to know which one of them has triggered   // the "editingEnded" delegate   UITextField *textField= (UITextField*)sender;   if(textfield == iAmTheLastTextField)   {     // for example login now.     [self login];   }

}

- (IBAction)submitButton:(id)sender {    UIButton *button = (UIButton *)sender;    [button setEnabled:NO];    [button setTitle:@"foo" forState:UIControlStateDisabled];}
stackoverflow原文:
(id)sender is the object which sent the message to that selector. It's like in the delegate functions where you have the control passed in to the function, etc.
You'd use this if you had 2 objects which were calling that selector and you wanted to distinguish between them. Of course, you could just use two different functions, but it's often cleaner and less duplication of code to use one function.
你会使用这个,如果你有2个对象,它被调用的选择和你想区分它们。当然,你可以只使用两种不同的功能,但它的代码经常清洁,少重复使用一个函数。

0 0
原创粉丝点击