【问题标题】:Unknown class in Interface Builder file. Xcode 6 and SwiftInterface Builder 文件中的未知类。 Xcode 6 和 Swift
【发布时间】:2015-01-05 04:14:51
【问题描述】:

我用 swift 开始了一个普通的主细节项目。如果我添加一个新的视图控制器并设置自定义类,则模块列表为空,无法选择模块。错误消息“Interface Builder 文件中的未知类”。如果我运行代码,则会出现在控制台中。 如何设置故事板以了解自定义类和模块?

应该如何。模板中的两个类都很好。

它是怎样的

我必须在界面生成器源代码中添加customModule="Target_Name" customModuleProvider="target"。这真的很烦人!

更新: 如果我将整个项目目录移动到另一个目录,例如到它工作的桌面。看起来我的名为“存储库”的目录已损坏。不知道为什么:(

【问题讨论】:

标签: xcode swift module ios8 interface-builder


【解决方案1】:

以前也遇到同样的问题,终于发现StoryBoard的Target Membership设置错误了

.

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,但我发现我无意中为视图控制器管理的视图对象分配了一个不存在的自定义类。因此,在故事板文档视图中,我选择了配置错误的视图对象,然后在身份检查器中,删除了为其显示的错误自定义类(通过退格和回车)。这解决了这个问题。

    在我的例子中,自定义类应该分配给视图控制器,而不是控制器管理的视图对象。

    【讨论】:

      【解决方案3】:

      当我将默认 Xcode 项目的 UIViewController 子类更改为 UITableViewController 的子类时,我遇到了类似的问题。 (我在类源文件中做了这个更改,与 Storyboard 无关)。

      然后我将我的新班级名称输入到故事板中默认“视图”的 IB“班级”字段中。它不会自动完成我的班级名称,然后在运行时给出Unknown class in Interface Builder file 错误。

      解决方案是从情节提要中删除默认的UIViewController 对象,然后添加一个新的UITableViewController。然后,将该对象在 IB 中的 Class 设置为您的自定义类。

      似乎最初的问题可能会遇到这个问题,因为第一个屏幕截图的类是...ViewController,第二个是...TableViewController

      【讨论】:

        【解决方案4】:

        我遇到了同样的问题并已解决。阅读这个问题给了我一个进一步检查 Identity Inspector 的想法,我发现类 Module 应该从 target 继承,而不是像我一样从 None 模块继承。

        尝试选中Inherit Module From Target 复选框并重建。

        希望它可以帮助某人,显然你的问题自 2014 年发布以来已经解决。

        【讨论】:

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