質問

次の要件があります:

  1. 関連するアクションを取得します NSButton 使用 : - (SEL)action
  2. 取得したアクションを呼び出します。

2番目のPtを実行できますか。一般的に、このようなアクションを呼び出します - [self abc:nil] 2番目のPtから取得した方法を呼び出すことができるかどうかを考えるだけです。同様に!

役に立ちましたか?

解決

試す:

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

他のヒント

アクションは単なるセレクターであり、メソッドの名前です。任意の数のオブジェクトには、その名前でメソッドがある場合があり、1つのクラスだけがメソッドを実装していても、そのクラスのインスタンスがいくつかある場合があります。したがって、メソッドの名前だけを呼び出すことはできません。なぜなら、それはどのオブジェクトに応答するかを表現していないからです。その方法を実装するオブジェクトが必要であり、その名前でそのメッセージをそのオブジェクトに送信する必要があります。

アクションメッセージを送信したい最も可能性の高いオブジェクトはボタンのターゲットです。そのため、アクションを取得したのと同じ方法で、そのオブジェクトにメッセージを送信してください。または、さらに良いことに、ボタンを送信します a performClick: メッセージ;ボタンをクリックするユーザーをシミュレートする場合は、それが方法です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top