如何为控件指定名称并在事件方法中检索它?

Ant*_*ain 2 cocoa-touch objective-c interface-builder

我有一个IBAction,如:

- (IBAction)showPicker:(id)sender;
Run Code Online (Sandbox Code Playgroud)

如何从sender变量中获取控件的名称?

我通常是ac #code,所以试过以下无济于事

senderName = ((UIButton *)sender).name;
Run Code Online (Sandbox Code Playgroud)

我需要一些比控件ID更具描述性的东西(也不是按钮标题).我有5个按钮都调用相同的方法.我需要确定单击哪个以便在适当的控件上执行方法操作.IE我有一个地址选择器方法,但想要用5个按钮中的每一个填充5个不同细节的文本字段.只是想保持代码整洁

NB最初我打算使用Interface Builders名称字段,但我被告知(下面)这在运行时不可用.

Ste*_*ton 5

您可能希望查看使用tag属性.它是整数而不是名称,但可用于区分两个控件.它继承自UIView,因此任何发送事件的控件都应该拥有它.

它可以在Interface Builder下的Interface Builder中编辑.

它是一个属性,因此可以使用点表示法以编程方式访问它:

control.tag
Run Code Online (Sandbox Code Playgroud)

或者您可以转换为字符串,如下所示:

[stringWithFormat:@"%d", control.tag]
Run Code Online (Sandbox Code Playgroud)