Interface Builder文件中的未知类信息
就像在标题中,我得到了一个疯狂的按摩,我无法处理它
Unknown class info in Interface Builder file.
每当我运行我的项目时,一些疯狂的错误将出现或一些酒吧消失。 有谁知道该怎么办?
试试这个,按顺序:
- 产品 – >在Xcode中清洁
- 从模拟器或设备中删除应用程序
- 重新启动Xcode
- (Build&)再次运行
如果这样做没有帮助,那么您可能需要参考笔尖或故事板中需要手动查找和删除的类。
警告可能是因为您已经为其中一个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
。只要我replace了对象,就不能再加载这个类了。
我所要做的就是把IB中的类引用从
Class = Model Module =
至
Class = Model Module = <TARGETNAME>
您将在构build设置中find
<TARGETNAME>
。 这也是在你生成的Swift-Header中显示的名字:#import "TARGETNAME-Swift.h"
如果您从Build Phases / Compile Sources中删除了ClassName.m,也会发生这种情况
我会重新解决这个问题,并从我的最后提出一些背景知识,然后提供解决scheme:
我创build了一个自定义的Swift框架,并将框架项目导入到工作区中。 然后,我将该框架作为Swift应用程序的目标依赖项。 最后,我从Interface Builder的框架中引用了一个类。
我不断得到类没有find错误,我注意到在debugging器中,它的输出类是损坏的/未加载的ObjC对应的..
解决scheme :
只需将您的框架头添加到您的ObjC桥接头:
#import <MazKit/MazKit-Swift.h> // In my case, MazKit
现在,这些符号被导出,你可以通过cmd +点击头本身来validation,你会看到mangled / unmangled类的名字。
当您在界面生成器中将视图或控制器自定义为该类后,更改视图名称和视图控制器类时,我倾向于看到这些types的错误。 我会通过你的观点和控制器在你的笔尖或故事板,看看你的自定义类是否仍然存在,并相应匹配。
当您重命名或删除底层代码而不更新IB文件时,您将遇到与IB文件有关的问题。 在将它们链接到Interface Builder中的对象后,删除或更改IBOutlet的名称时会发生类似的问题。 除非您明确地删除它,否则您仍然可以在Interface Builder中获得参考。
最后,您可以将IB文件视为文本文件。 这是一个xml文档,你将看到所有的类的引用。 你可以看看有没有可能不存在于你的项目中的任何类。
项目 – >常规 – >部署信息 – >主界面< – 清除此字段。
看来你已经删除了文件Main(Storyboard),但是你仍然可以在项目属性中引用它。