Swift 已编译的不识别子类NSWindow实例
我像这样子类化了NSWindowSwift 已编译的不识别子类NSWindow实例,swift,macos,appkit,Swift,Macos,Appkit,我像这样子类化了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 (b
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)
编译器声明类型为“NSWindow”的
值在AppDelegate中没有成员“setBo”
更新声明为
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
var window: MainWindow! // << here !!
@NSApplicationMain
类AppDelegate:NSObject,NSApplicationDelegate{
var窗口:主窗口//