即使接口生成器是一个MyClass,我得到一个错误时启动应用程序。

当MyClass是库的一部分时,就会发生这种情况,如果直接在应用程序目标中编译该类则不会发生这种情况。


当前回答

我有“未知类RateView在接口生成器”,其中RateView是UIView的子类。我已经在Storyboard场景中放置了一个UIView,并将自定义类字段更改为RateView。尽管如此,这个错误还是出现了。

为了调试,我将我的类的名称改为RateView2,并将所有引用更改为匹配,除了UIView的自定义类字段。错误消息仍然像以前一样出现,RateView是缺失的类。这确认了错误消息与Custom类字段的值相关。我将这个值更改为RateView2,错误消息更改为“未知类RateView2在接口生成器”。某种程度上的进步。

最后,我在文件检查器中检查源代码文件本身。在那里,我发现源代码文件(我从教程中复制的)与我的Target没有关联。换句话说,它没有目标会员。我选中了使类的源代码文件成为目标应用程序成员的复选框,错误消息消失了。

其他回答

我沿着劳拉建议的路线修复了这个问题,但我不需要重新创建文件。

使用XCode 4,在Project Navigator中,选择包含它要抱怨的类的.m文件 点击查看->实用工具->显示文件检查器(这将显示文件检查器在右边,带有。m- File信息) 打开Target Membership部分,并确保为这个.m文件选择了目标

当我把我的.m文件添加到我的项目时,由于某种原因,它没有把它添加到我的默认目标中,这导致我得到你提到的错误。

我通过从我的class.h和.m复制文本来修复这个问题,从项目中删除这些类文件,并使用“添加文件”创建新的class.h和.m文件。然后我将代码粘贴回新文件中,一切都运行良好。由于某种原因,文件在创建时没有正确链接。在那之后,我不需要使用任何链接标志。

不仅在项目设置中,在目标设置中也必须添加-all_load -ObjC标志。

Core-Plot: Interface Builder文件中的未知类CPLayerHostingView

我在《Swift》中遇到过这种情况。

将.xib文件移动到项目的Base中。Lproj文件夹摆脱了这个错误。

我终于解决了这个问题,我忘记在我的.m文件中添加以下代码:

@implementation MyTableViewCell

@end

所以这是因为我为我的表格单元格做了一个占位符@interface,它有一个连接到.xib文件中的元素,但在Interface Builder中有一个错误,如果没有为一个类指定@implementation,它就找不到它。

我已经完成了从其他论坛查看.xib作为源代码和查看MyTableViewCell的所有步骤,尽管我已经将它注释出了我的代码。我试过重置模拟器。我甚至尝试将所有的类分解为与接口同名的单独文件,但在此之前都不起作用。

附注:根据我的经验,.h/。M文件与@interface的名称不同。我有几个文件包含不止一个@interface,他们工作得很好。

P.P.S.我有一个更详细的解释,为什么UITableViewCell和UICollectionViewCell导致这个错误在https://stackoverflow.com/a/22797318/539149以及如何揭示它在编译时使用registerClass: forCellWithReuseIdentifier:。