代码之家  ›  专栏  ›  技术社区  ›  Himanshu P

在情节提要项目中为窗口使用自定义类

  •  0
  • Himanshu P  · 技术社区  · 7 年前

    我使用Xcode(9.2)创建了一个情节提要项目。

    然后,我创建了NSWindow的一个自定义子类,并使用情节提要编辑器将其设置为我的窗口的类。

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

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

    项目符合ok,但运行时在包含 super.init() 呼叫 :

    致命错误:使用未实现的初始值设定项 '初始化(contentRect:styleMask:backing:defer:)'

    超级班不是吗( NSWindow )是否已经包含该实现?

    我错过了什么?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Joakim Danielson    7 年前

    如果您在情节提要中使用它,那么您需要实现init方法,因为它是为NSWindow指定的方法,因此您会遇到一个错误。

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