【问题标题】:Unknown class in Interface Builder file - Xcode 8 Swift 3Interface Builder 文件中的未知类 - Xcode 8 Swift 3
【发布时间】:2017-01-25 19:09:33
【问题描述】:

我遇到了以下错误

Interface Builder 文件中的未知类 TutorialViewController.swift。

将默认文件 Main.storyboard 和 ViewController.swift 分别重命名为我想要的命名约定 TutorialView.storyboard 和 TutorialViewController.swift。

我通过物理重命名 Xcode 中的文件名并更新类名 TutorialViewController.swift 来重命名文件。

重命名后,我尝试通过将故事板的Custom Class 更新为TutorialViewController 来修复从TutorialView.storyboard 到TutorialViewController.swift 的链接,这是完成链接的正确方法。这实际上导致了上述错误。

免责声明:我知道这类似于this SO post,但我想提出这个问题并回答我的解决方案,因为该帖子没有可接受的答案。我希望我能一直拯救一个人。

【问题讨论】:

    标签: xcode autolayout swift3 interface-builder xcode8


    【解决方案1】:

    检查是否在界面构建器中为您的自定义视图选择了Inherit from Target。这实际上对我有用。

    如果您的视图恰好位于被复制到不同目标的.bundle 文件中,那么您需要显式设置模块目标。

    如果您有多个目标,请检查是否为所有目标或至少为您正在运行的目标选择了自定义类。

    【讨论】:

      【解决方案2】:

      您也可以尝试再次选择 CustomClass -- Class 到您的班级名称,然后按回车键。这将有助于更新与 viewController 关联的类名。

      【讨论】:

      • 是的,这将用于“刷新”引用,但如果引用首先不正确,则不会有任何影响。感谢您的回答!
      【解决方案3】:

      最终解决我的问题的是创建一个新项目并查看原始 Main.storyboard 如何在 XML 中引用其 .swift 文件,如下所示

                      <viewController id="BYZ-38-t0r" customClass="ViewController" customModule="Sandbox" customModuleProvider="target" sceneMemberID="viewController">
      

      重要的方面是customClass="ViewController"

      通过这个,手动编辑我的项目的TutorialView.storyboard 并添加customClass="TutorialViewController,我解决了错误。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-22
        • 2015-01-05
        • 2012-11-23
        • 1970-01-01
        • 2015-05-21
        • 2015-06-09
        • 2015-06-21
        • 2015-07-06
        相关资源
        最近更新 更多