调用从按钮获取的动作

时间:2010-09-10 10:24:08

标签: cocoa nsbutton

我有以下要求:

  1. 使用NSButton
  2. 获取与: - (SEL)action相关联的操作
  3. 调用获得的操作。
  4. 我们可以进行第二次训练吗?通常我们调用像这样的动作 - [self abc:nil]只是想我们是否可以调用从第二个pt获得的方法。以同样的方式!

    谢谢,

    Miraaj

2 个答案:

答案 0 :(得分:1)

尝试:

SEL actionSelector = [button action];
[self performSelector: actionSelector withObject:nil];

答案 1 :(得分:1)

该操作只是一个选择器 - 方法的名称。任意数量的对象都可以使用该名称的方法,即使只有一个类实现该方法,您也可以拥有该类的任意数量的实例。因此,您不能只调用方法的名称,因为这并不表示哪个对象会响应它。您需要一个实现该方法的对象,并且您需要通过该名称将该消息发送到该对象。

您想要发送操作消息的最可能的对象是按钮的目标,因此,获取它,就像您执行其操作一样,并将消息发送到该对象。或者,更好的是,发送按钮a performClick: message;如果你想模拟用户点击按钮,那就是这样做的。