@selector传递多个参数

时间:2014-08-06 09:05:47

标签: ios objective-c selector

我是iOS星球的新手,下面是我的示例代码:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    UIButton  * _btnSample = [UIButton buttonWithType:UIButtonTypeCustom];

    [_btnSample setFrame: CGRectMake(100, 160, 200, 30)];

    [_btnSample setBackgroundColor:[UIColor redColor]];

    [_btnSample setTitle:@"Click Me" forState:UIControlStateNormal];

    [_btnSample addTarget:self action:@selector(btnClick::)withObjects   forControlEvents:UIControlEventTouchUpInside];

    [self.view addSubview:_btnSample];

    //[self btnClick:@"12" :@"13"];

}


- (void)btnClick :(NSString *) stringValue1 : (NSString *) stringValue2
{
    NSLog(@"Click ME Button Clicked with a value::%@",stringValue1);
       NSLog(@"Click ME Button Clicked with a value::%@",stringValue2);
}

@selector我需要调用btnClick fn哪个有两个参数,怎么样?

1 个答案:

答案 0 :(得分:1)

简短的回答是,你不能。控件调用的操作方法必须符合以下签名之一(请参阅Apple reference):

- (void)action
- (void)action:(id)sender
- (void)action:(id)sender forEvent:(UIEvent *)event

这是因为操作方法的参数由控件提供,并且被提供以允许操作方法在必要时决定做什么。

如果您可以解释这些参数的含义,正如我从您的问题中看不到的那样,那么我们几乎可以肯定地为您的问题找到解决方案。