将参数传递给选择器

Posted

技术标签:

【中文标题】将参数传递给选择器【英文标题】:Passing parameters into a selector 【发布时间】:2014-03-20 23:14:25 【问题描述】:

我有一个 UIButton,它是 UIView 上的子视图。当按下按钮时,我的应用程序应该将捕获的图像传递给@selector 调用的函数。但是,我的研究表明我无法使用 UIButton 的选择器将任何内容传递给函数。我该如何解决这个问题?

[hangButton addTarget:self
               action:@selector(faceDetector: the image I want to pass in)
     forControlEvents:UIControlEventTouchUpInside];

【问题讨论】:

【参考方案1】:

您应该在句柄按钮按下方法中触发您的事件。您无需预设参数,buttonPress 选择器传递一个参数,即发送事件的按钮。

[hangButton addTarget:self
               action:@selector(handleButtonPress:)
     forControlEvents:UIControlEventTouchUpInside];

- (void) handleButtonPress:(id)sender 
    UIImage * imageToFaceDetect = // get your image
    [self faceDetector:imageToFaceDetect];

【讨论】:

很高兴它正在工作,如果它解决了您的问题,请确保选择作为答案!祝您应用的其余部分好运!

以上是关于将参数传递给选择器的主要内容,如果未能解决你的问题,请参考以下文章

如何将多个参数传递给“scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:”中的选择器

在页面模型中将参数传递给 TestCafe 选择器

将参数传递给子节点解析器函数

将命令行参数传递给调用带有装饰器参数的装饰函数的函数

在 Swift 中将参数传递给选择器

将参数传递给要装饰的类方法的装饰器