首页 > 解决方案 > 在 Swift 中通过响应者链发送动作

问题描述

我正在尝试通过 Swift 中的响应者链发送操作。

考虑 :

final class AppDelegate: NSObject {
    @IBAction private func subscribe(_ sender: Any?) { /* ... */ }
}

NSApp.sendAction(#selector(subscribe(_:)),
                           to: nil,
                           from: nil)

Swift 抱怨subscribe(_:)由于私有保护级别,该功能无法访问。如果我将函数设为内部,Swift 会抱怨我使用了未定义的标识符(假设我没有将类名添加到函数名之前)。

将类名添加到选择器中是可行的,但我试图避免:

关于如何做到这一点的任何想法?

标签: swiftcocoaselector

解决方案


推荐阅读