swift - 我可以在不进行子类化的情况下覆盖 func mouseDown 吗?

标签 swift macos subclass mousedown

我可以只为 NSView 的特定实例覆盖 func mouseDown 而无需子类化吗?

我可以在 Java 中使用 lambda 来做这样的事情(见下文),但是我可以在 Swift 中使用闭包来做这样的事情吗?

something.addMouseListener(new MouseAdapter() {
    @Override public void mouseReleased(MouseEvent e) {
        ...
    }

    @Override public void mousePressed(MouseEvent e) {
        ...
    }
});

最佳答案

可以这样写。也有效。

extension NSView {

override open func mouseDown(with event: NSEvent) {

}

}

关于swift - 我可以在不进行子类化的情况下覆盖 func mouseDown 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54164241/

相关文章:

ios - 我如何识别不同的pickerView?

java - 如何读取压缩的 DICOM 文件

ios - 每次出现 View 时,UIView 层的子层显示不同/随机

swift - 如何删除数组中的第一个元素并将其用作 Swift 中 reduce 函数的初始值?

objective-c - 我可以从 NSNotificationCenter 监视其他窗口的事件,如调整大小、隐藏等吗?

Python 测试多个子类的继承

NHibernate 仅对子类使用 FetchMany 进行预加载

objective-c - 在 NSButton 子类中绘制文本

ios - 使用 Swift 的 Encodable 将可选属性编码为 null 而无需自定义编码

java - 从 Java 执行外部程序