首页 文章

Interface Builder文件中的未知Window类(null),而是创建通用Window

提问于
浏览
30

我的应用程序使用故事板和windows have to use 一个自定义类,例如 MyWindow ,在运行时 or 启动应用程序,有一条错误消息说:

Interface Builder文件中的未知Window类(null),而是创建通用Window

升级到Xcode 9.1之后我才注意到这一点,但我不确定它是否曾存在过 .

类似的问题在这里:Xcode 6 Strange Bug: Unknown class in Interface Builder file

更新:

我的另一个项目没有这个问题 . 我稍后会调查 .

更新2:

在这两个项目中,窗口由自定义窗口控制器拥有 . 我检查了故事板xml但没有找到任何奇怪的东西 .

4 回答

  • 30

    当我在Xcode 9.1中构建并运行一个全新的空项目时,也会出现此警告 .

    用没有更改的空自定义类NSWindow替换默认的NSWindow会删除错误,但这种行为没有意义 .

    因此,我将其视为一个错误 .

  • 7

    升级到Xcode 9.1后我遇到了同样的问题 . 要解决该错误,您需要使用NSWindow的自定义子类替换故事板中的所有NSWindow实例 .

  • 1

    自升级以来,我在几个项目中遇到了同样的问题 .

    “Interface Builder文件中的未知窗口类(null),而是创建通用窗口”

    这种情况发生在目前看来的所有Cocoa项目中 . 他们中很少有人会正常运作 . 但是我没有自定义窗口控制器 . 用命名的子类替换Storyboard中的默认窗口控制器不会改变这种情况 .

    Solved: - 为默认窗口创建空白自定义窗口子类可以解决问题 . 在对项目进行更改后出现的消息(意外删除了我的主视图控制器等),我被抛出了 .

  • 7

    跟进:

    这是在最新的XCode更新9.3(9E145)中解决的

    修复了编译导致错误记录的macOS故事板的问题:“Interface Builder文件中的未知窗口类(null),而是创建通用窗口 . ” (34994636)

相关问题