5

ターゲットアクションメカニズムをサポートするカスタムクラスがありますが、この特定のケースでは、次のコマンドを実行してアクションを呼び出そうとすると、奇妙なことになります。

[NSApp sendAction:action_ to:target_ from:self]

それは機能しませんが、この方法は機能します:

[target_ performSelector:action_ withObject:self];

明らかに両方ともtarget_有効action_な値があります。

私はそれを機能させたので、これは大したことではありません。

-[NSApplication sendAction:to:from:]これはかなり基本的な操作のように見えるので、なぜ機能しないのか理解できません。私はsendAction:...過去に問題なく使用してきましたがsendAction、ターゲットがである場合にメッセージに応答するオブジェクトを探すメカニズムがあるという事実を除けば、これら2つの間にいくつかの重要な違いがあるようですnil

4

1 に答える 1

0

Are you sure NSApp isn't nil at the time you do sendAction:to:from:?

If it, nothing will happen. To make sure NSApp is a valid object, perform [NSApplication sharedApplication] at least once, or combine them:

[[NSApplication sharedApplication] sendAction:action_ to:target_ from:self];
于 2011-09-25T13:47:42.060 に答える