ios - @selector 多参数传递

标签 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 有两个参数,如何?

最佳答案

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

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

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

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

关于ios - @selector 多参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25156280/

相关文章:

objective-c - 我可以通过无线方式将 localizable.strings 文件加载到 iOS 应用程序中吗

ios nsarray/nsmutablearray 对自定义对象进行分组/求和

ios - 当Coredata didsavenotification收到时数据内容发生变化

ios - 修饰 UIButton 时进度 View 停止

ios - 视频轨道后面的 AVFoundation UIImage

iphone - 将选择器发送到另一个类

css - 选择外部元素 CSS

Objective-C:使用多个参数调用选择器

ios - 如何在文本字段 swift ios 中输入 4 个字母后添加功能

objective-c - 在 iOS 5 中关闭多个 View Controller