我像这样子化了NSWindow。
class MainWindow : NSWindow
{ var bo : Bo?
override func keyDown(with event: NSEvent) {
//super.keyDown(with: event)
print("Keydown \(event.keyCode) - modifier \(event.modifierFlags) char: \(event.characters)")
if (bo != nil && event.characters == "+") {
// do something with bo
}
}
public func setBo(_ bo : Bo)
{ self.bo = bo
}
}
在AppDelegate中,我像这样实例化一个窗口
window = MainWindow(
contentRect: NSRect(x: 0, y: 0, width: 480, height: 300),
styleMask: [.titled, .closable, .miniaturizable, .resizable, .fullSizeContentView],
backing: .buffered, defer: false)
效果很好,将打印出键盘事件。
但是打电话时>>
window.setBo(bo)
编译器状态为
Value of type 'NSWindow' has no member 'setBo'
我像这样子化了NSWindow。类MainWindow:NSWindow {var bo:Bo?覆盖func keyDown(带有事件:NSEvent){//super.keyDown(带有事件)print(“ Keydown \(event.keyCode)-...
将AppDelegate中的声明更新为