自定义类

时间:2016-11-28 04:37:16

标签: swift selector

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

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

var target : AnyObject?
var action: Selector?

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

1 个答案:

答案 0 :(得分:6)

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

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

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