12

就像标题一样,我得到了一个疯狂的按摩,我无法应付

Unknown class info in Interface Builder file.

每次我运行我的项目时,都会出现一些疯狂的错误或一些条消失。有人知道该怎么做吗?

4

11 回答 11

24

试试这个,按顺序:

  1. 产品->在 Xcode 中清理
  2. 从模拟器或设备中删除应用程序
  3. 重启 Xcode
  4. (Build &) 再次运行

如果这没有帮助,您可能在笔尖或情节提要中引用了必须手动查找和删除的类。

于 2013-02-14T18:25:57.677 回答
10

警告可能是因为您已为 UIView 子类之一分配了已删除/已删除的自定义类名称。为了解决这种情况,

Open interface builder class as Source Code by right clicking on it (Open As -> Source Code).
Find your unknown class name in the source file. And handle accordingly.

它对我有用。

于 2013-10-08T12:12:55.260 回答
3

请参阅我对https://stackoverflow.com/a/29013058/784318的回答

我今天使用 Swift 确实遇到了这个问题。

我将班级更改Model.h + Model.mModel.swift. 该对象在 Interface Builder 中与class = Model.

一旦我替换了对象,就无法再加载该类。

我必须做的是将 IB 中的类引用从:

Class = Model
Module = 

Class = Model
Module = <TARGETNAME>

您将<TARGETNAME>在构建设置中找到 。它也是您生成的 Swift-Header 中显示的名称:#import "TARGETNAME-Swift.h"

于 2015-03-12T14:56:09.287 回答
2

我已经解决了这个问题(在使用 Swift 4 / Xcode 10.1 时),方法是转到自定义类面板,选中“从目标继承模块”(在类和模块行的正下方)。

于 2019-02-18T00:01:59.460 回答
2

我对 Lottie 图书馆也有同样的问题。

Interface Builder 文件中的未知类 AnimationView。

如果您的类视图位于其他模块中,则可能会发生这种情况。

要解决此问题,请进入您的 IB 文件(Xib 或故事板)/显示身份检查器并正确设置模块:

在此处输入图像描述

于 2019-07-19T09:43:33.560 回答
1

在将 Interface Builder 中的视图或控制器自定义为该类之后,当您更改视图和视图控制器类的名称时,我倾向于看到这些类型的错误。我会在您的笔尖或情节提要中查看您的视图和控制器,以查看您的自定义类是否仍然存在并相应地匹配。

当您重命名或删除底层代码而不更新 IB 文件时,您将遇到 IB 文件问题。在将 IBOutlets 链接到 Interface Builder 中的对象后删除或更改它们的名称时,也会出现类似的问题。除非您明确删除它,否则您仍然会在 Interface Builder 中拥有该引用。

最后,您可以将 IB 文件视为文本文件。这是一个 xml 文档,您将在其中看到所有类引用。您可以查看是否有任何类可能不再存在于您的项目中。

于 2013-02-14T18:26:07.967 回答
1

如果您从 Build Phases/Compile Sources 中删除 ClassName.m 也会发生这种情况

于 2014-06-16T20:16:22.040 回答
1

我将重申这个问题,并提供一些背景信息,然后提供解决方案:

我创建了一个自定义 Swift 框架,并将框架项目导入到工作区中。然后,我将该框架作为我的 Swift 应用程序的目标依赖项。最后,我在 Interface builder 中引用了框架中的一个类。

我不断收到未找到类的错误,我注意到在调试器中它的输出类是损坏/未损坏的 ObjC 对应项..

解决方案

只需将您的框架标头添加到您的 ObjC 桥接头中:

#import <MazKit/MazKit-Swift.h> // In my case, MazKit

现在,符号已导出,您可以通过 cmd + 单击标题本身来验证这一点,您将看到损坏/未损坏的类名。

于 2015-02-27T07:56:49.960 回答
0

项目 -> 常规 -> 部署信息 -> 主界面 <- 清除此字段。

您似乎已删除文件 Main (Storyboard),但您仍然在项目属性中引用它。

于 2015-06-10T14:48:24.397 回答
0

可能是文件在构建过程中没有被复制。转到 Build Phases 选项卡并检查复制 Bundle 资源以查看文件是否存在。如果不添加到项目中,请清理并重建以查看是否可以解决您的问题。这对我有帮助。

于 2019-03-13T03:25:21.457 回答
0

我重命名了我的 TableViewCell 类之一。除了选中Inherit Module From Target复选框外,没有任何效果。

打开 xib 文件 > 选中时转到身份检查器 > 选中复选框(还要确保类名正确)。

完毕!

于 2021-04-21T22:12:01.660 回答