Interface Builder 文件中未知 class - Xcode 8 Swift 3

Unknown class in Interface Builder file - Xcode 8 Swift 3

我运行进入如下错误

Unknown class TutorialViewController.swift in Interface Builder file.

将默认文件 Main.storyboardViewController.swift 分别重命名为我想要的 TutorialView.storyboardTutorialViewController.swift 命名约定时。

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

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

免责声明:我知道这与 this SO post 类似,但我想提出这个问题并回答我的解决方案,因为 post 没有公认的答案.我希望我能在我花时间解决这个问题的所有时间里救一个人。

最终解决我问题的方法是创建一个新项目并查看原始 Main.storyboard 如何引用其在 XML 中的 .swift 文件,它看起来像这样

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

重要的方面是customClass="ViewController"

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

您也可以尝试再次选择自定义 Class -- Class 到您的 class 名称并点击 return。这将有助于更新与 viewController.

关联的 class 名称

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

如果您的视图恰好在一个被复制到不同目标的 .bundle 文件中,那么您需要明确设置模块目标。

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