自定义选择器 class

Selector in custom class

我写了一个自定义按钮,它基本上是一个 NSView 子类。按钮对 mouseDown() 做出反应,并且应该 运行 a selector/action.

我不知道如何向子类添加目标和操作变量(类似于 NSButton 等用户界面元素)。我试过了

var target : AnyObject?
var action: Selector?

另外,我如何 运行 我的子类中带有目标的选择器?

"target/action" 对已过时,应避免使用。但如果你真的想使用它,请看一下 NSApplication sendAction(_:to:from:) 方法。

或者,如果您的自定义按钮扩展了 NSControl,您可以使用其 targetaction 属性及其 sendAction(_:to:) 方法。

一种更现代的方法是为您的按钮 class 提供闭包 属性,然后调用该闭包而不是使用 target/action 对。使用闭包更安全、更简洁,并且可能使按钮的客户端代码 class 更易于编写。