在故事板项目中为 window 使用自定义 class

Using a custom class for the window in a storyboard project

我使用 Xcode (9.2) 创建了一个故事板项目。

然后我创建了 NSWindow 的自定义子 class 并使用情节提要编辑器将其设置为我的 window.

的 class
class CustomWindow: NSWindow {

    init() {
        super.init(contentRect: NSRect.zero, styleMask: .borderless, backing: .buffered, defer: true)
        self.setFrame(NSScreen.screens[0].visibleFrame, display: false)
    }

}

[为清晰起见进行了编辑]

项目正常,但在 运行 时在包含 super.init() 调用的行上抛出此错误:

Fatal error: Use of unimplemented initializer 'init(contentRect:styleMask:backing:defer:)'

超级 class (NSWindow) 是否已经包含该实现?

我错过了什么?

如果您在故事板中使用它,那么您需要实现 init 方法,因为它是 NSWindow 的指定方法。

例如看这个问题Fatal error: use of unimplemented initializer 'init(coder:)' for class