我写了一个自定义按钮,它基本上是一个NSView
子类。该按钮对mouseDown()
作出反应,并应运行选择器/操作。
我不知道如何向子类添加目标和操作变量(类似于NSButton
等用户界面元素)。我试过了
var target : AnyObject?
var action: Selector?
另外,如何在子类中使用目标运行选择器?
答案 0 :(得分:6)
“目标/行动”对是过时的,应该避免。但如果您真的想使用它,请查看NSApplication sendAction(_:to:from:)
方法。
或者,如果您的自定义按钮展开NSControl
,则可以使用其target
和action
属性及其sendAction(_:to:)
方法。
更现代的方法是为按钮类提供闭包属性,然后调用该闭包而不是使用目标/动作对。使用闭包更安全,更清晰,并且可能使您的按钮类的客户端代码更容易编写。