自定义类中的选择器

Flo*_*ked 0 selector swift

我写了一个自定义按钮,它基本上是一个NSView子类.按钮响应mouseDown()并应该运行选择器/动作.

我不知道如何将子目标和动作变量添加到子类(类似于用户界面元素NSButton).我试过了

var target : AnyObject?
var action: Selector?
Run Code Online (Sandbox Code Playgroud)

另外如何在子类中运行目标选择器?

rma*_*ddy 6

"目标/行动"对是过时的,应该避免.但如果您真的想使用它,请查看该NSApplication sendAction(_:to:from:)方法.

或者,如果您的自定义按钮扩展NSControl,你可以用它targetaction性质及其sendAction(_:to:)方法.

更现代的方法是为按钮类提供闭包属性,然后调用该闭包而不是使用目标/动作对.使用闭包更安全,更清晰,并且可能使您的按钮类的客户端代码更容易编写.