就像标题一样,我得到了一个疯狂的按摩,我无法应付
Unknown class info in Interface Builder file.
每次我运行我的项目时,都会出现一些疯狂的错误或一些条消失。有人知道该怎么做吗?
就像标题一样,我得到了一个疯狂的按摩,我无法应付
Unknown class info in Interface Builder file.
每次我运行我的项目时,都会出现一些疯狂的错误或一些条消失。有人知道该怎么做吗?
试试这个,按顺序:
如果这没有帮助,您可能在笔尖或情节提要中引用了必须手动查找和删除的类。
警告可能是因为您已为 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.
它对我有用。
请参阅我对https://stackoverflow.com/a/29013058/784318的回答
我今天使用 Swift 确实遇到了这个问题。
我将班级更改
Model.h + Model.m
为Model.swift
. 该对象在 Interface Builder 中与class = Model
.一旦我替换了对象,就无法再加载该类。
我必须做的是将 IB 中的类引用从:
Class = Model Module =
到
Class = Model Module = <TARGETNAME>
您将
<TARGETNAME>
在构建设置中找到 。它也是您生成的 Swift-Header 中显示的名称:#import "TARGETNAME-Swift.h"
我已经解决了这个问题(在使用 Swift 4 / Xcode 10.1 时),方法是转到自定义类面板,选中“从目标继承模块”(在类和模块行的正下方)。
在将 Interface Builder 中的视图或控制器自定义为该类之后,当您更改视图和视图控制器类的名称时,我倾向于看到这些类型的错误。我会在您的笔尖或情节提要中查看您的视图和控制器,以查看您的自定义类是否仍然存在并相应地匹配。
当您重命名或删除底层代码而不更新 IB 文件时,您将遇到 IB 文件问题。在将 IBOutlets 链接到 Interface Builder 中的对象后删除或更改它们的名称时,也会出现类似的问题。除非您明确删除它,否则您仍然会在 Interface Builder 中拥有该引用。
最后,您可以将 IB 文件视为文本文件。这是一个 xml 文档,您将在其中看到所有类引用。您可以查看是否有任何类可能不再存在于您的项目中。
如果您从 Build Phases/Compile Sources 中删除 ClassName.m 也会发生这种情况
我将重申这个问题,并提供一些背景信息,然后提供解决方案:
我创建了一个自定义 Swift 框架,并将框架项目导入到工作区中。然后,我将该框架作为我的 Swift 应用程序的目标依赖项。最后,我在 Interface builder 中引用了框架中的一个类。
我不断收到未找到类的错误,我注意到在调试器中它的输出类是损坏/未损坏的 ObjC 对应项..
解决方案:
只需将您的框架标头添加到您的 ObjC 桥接头中:
#import <MazKit/MazKit-Swift.h> // In my case, MazKit
现在,符号已导出,您可以通过 cmd + 单击标题本身来验证这一点,您将看到损坏/未损坏的类名。
项目 -> 常规 -> 部署信息 -> 主界面 <- 清除此字段。
您似乎已删除文件 Main (Storyboard),但您仍然在项目属性中引用它。
可能是文件在构建过程中没有被复制。转到 Build Phases 选项卡并检查复制 Bundle 资源以查看文件是否存在。如果不添加到项目中,请清理并重建以查看是否可以解决您的问题。这对我有帮助。
我重命名了我的 TableViewCell 类之一。除了选中Inherit Module From Target
复选框外,没有任何效果。
打开 xib 文件 > 选中时转到身份检查器 > 选中复选框(还要确保类名正确)。
完毕!