鉴于你有一个方法
-(void)aSelector:(id)anyArgument;
并以编程方式设置了UIButton
UIButton *myButton = [[UIButton alloc] init]
好吧,我明白当你创建一个UIButton时,你必须使用这个方法
[myButton addTarget:nil action@selector(aSelector:) for ControlEvents:UIControlEventTouchUpInside];
但我在哪里通过论证?我知道通常情况下,你会使用
[myButton withObject:anyArgument];
但是NSControl不允许这样做但是有可能因为选择器名称后的冒号表示如此。
答案 0 :(得分:6)
通常,-aSelector:将像这样定义
- (void) aSelector:(id)sender
{
NSLog(@" sender = %@", sender);
}
,参数将是myButton。请记住,您可能有几个按钮都调用方法-aSelector:然后,您需要在运行时区分哪个是调用方(发送方)。
答案 1 :(得分:2)
UIControl的addTarget仅支持这三种形式的选择器。
- (void)action
- (void)action:(id)sender
- (void)action:(id)sender forEvent:(UIEvent *)event
您无法添加自定义参数。