gpt4 book ai didi

objective-c - 为什么 sendAction : doesn't work while performSelector: does?

转载 作者:搜寻专家 更新时间:2023-10-30 19:49:52 27 4
gpt4 key购买 nike

我有一个支持目标 Action 机制的自定义类,但奇怪的是在这种特定情况下,当我尝试通过执行调用 Action 时:

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

它不起作用,但这种方式可以:

[target_ performSelector:action_ withObject:self];

显然 target_action_ 都有有效值。

这没什么大不了的,因为我已经开始工作了。

我只是想不通为什么 -[NSApplication sendAction:to:from:] 不起作用,因为这看起来像是一个非常基本的操作。我过去一直在使用 sendAction:... 没有问题,但是这两者之间似乎有一些显着的区别,除了 sendAction 有一个如果目标为 nil,则寻找响应消息的对象的机制。

最佳答案

您确定 NSApp 在您执行 sendAction:to:from: 时不是 nil 吗?

如果是这样,什么都不会发生。为了确保 NSApp 是一个有效的对象,至少执行一次 [NSApplication sharedApplication],或者将它们结合起来:

[[NSApplication sharedApplication] sendAction:action_ to:target_ from:self];

关于objective-c - 为什么 sendAction : doesn't work while performSelector: does?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7503577/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com