如何在IBAction-call中使用sender参数

Nic*_*ore 1 cocoa objective-c

在诸如的动作方法中

- (IBAction)myAction:(id)sender {
// do something
}
Run Code Online (Sandbox Code Playgroud)

sender参数可以用于什么?

是否有可能检测到在调用该操作的控件上进行了哪种类型的点击(例如鼠标左键)?如果是这样的话?

Chu*_*uck 5

这在很大程度上取决于具体情况.发件人是发送操作邮件的对象,因此您可以对在任何其他上下文中可以执行的对象执行任何操作.参数没有什么特别之处.

例如,您可能[someTextField takeIntegerValueFrom:sender]需要一个显示滑块值的文本字段.

如果发件人提供某种方式来告诉按下哪个按钮,那么你可以这样做.不过,我不知道有哪些班级能做到这一点.这将是一种尴尬的设计.如果不同的点击应该做不同的事情,那么他们最好有不同的行动方法.