就像在标题中我得到了疯狂的按摩,我无法处理它
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时),转到Custom Class面板,选中'Inherit Module From Target'(在Class&Module行下面)。
在将Interface Builder中的视图或控制器自定义到该类之后,当您更改视图名称并查看控制器类时,我倾向于看到这些类型的错误。我会在您的笔尖或故事板中查看您的视图和控制器,以查看您的自定义类是否仍然存在并相应地匹配。
当您重命名或删除基础代码而不更新IB文件时,您将遇到IB文件的问题。在将它们链接到Interface Builder中的对象之后删除或更改IBOutlet的名称时会发生类似的问题。除非您明确删除它,否则您仍将在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资源以查看文件是否存在。如果没有添加到项目清理和重建,看看是否可以解决您的问题。这对我有帮助。