在接口生成器文件中未知的FirstViewController类

18

当我运行我的应用程序时,我得到了这个错误信息

在我的控制台里看到这条消息"Interface Builder文件中的未知类FirstViewController"

我正在运行TabBar应用程序。

我该如何解决这个问题?


你是否正在使用Xcode提供的模板?如果是,那么FirstViewController可能来自于该模板。 - Di Wu
1
如果您从Xcode提供的模板创建了一个选项卡应用程序,您将在生成的代码中找到FirstViewController。如果您不打算使用它,只需删除FirstViewController即可。 - Swapna
@Swapna:是的...我删除了那个FirstViewController.....这会对我的项目有影响吗?如果我删除了FirstViewController。 - kiran kumar
9个回答

21

看起来你从项目中删除了FirstViewController.h和.m文件,但忘记在nib文件中更改视图控制器的类。


1
注意不要更改主xib文件名。 - Ratata Tata

20

进入项目,目标,构建阶段,编译源代码并添加未知类..完成。


这对我有用 - 后续问题:为什么一开始会发生这种情况?我有很多其他未列在编译源中的类,它们都被正确地捕获。 - The Camster
这里也有同样的问题。我刚打开一个Storyboard,添加了一个ViewController,就立即出现了这个错误。这是XCode的一个bug吗? - Kokodoko

7

右键点击Storyboard --> 打开方式 --> 源代码

在Storyboard源文件中找到你不知道的类名。这可能是因为你意外地为你的某个UIView子类分配了一个自定义的类名。


3

我觉得你的评论有点难以理解,但我认为你可能已经删除了FirstViewController,但忘记了更改所有对它的引用。你可能需要进入MainWindow.xib并查找所有与FirstViewController相关的UI组件,并将其删除。


@vodkhang......谢谢朋友......它运行得很好,完美无缺......非常感谢...但是...我需要知道如果我没有删除那些会对我的项目产生影响吗......?还是内存问题。 - kiran kumar
如果你不删除它们,一切都会没问题。 - vodkhang
1
我也遇到了同样的问题,无论在哪里都找不到参考资料,但错误仍然存在。 - Kokodoko

1
有时候,由于某些原因,您需要更改目标名称,那么您就需要将故事板打开为源文件,然后搜索旧的目标名称,并将其替换为新名称。如果是这种情况,应该可以正常工作。希望这能帮到您。

0

这是在Git合并和解决一些冲突后发生的。

它搞砸了我的XCode项目。

我在StackOverflow上尝试了所有方法。起初,我以为我的自定义类.m文件没有添加到编译源类列表中。但这只是一个情况,即使添加了它,它仍然会出现相同的问题。

我是如何解决的:

  1. 我备份了我的.xib文件及其支持的自定义类.m和.h文件。
  2. 然后清理项目并尝试通过XCode运行应用程序(可能无法正常工作)
  3. 然后将文件重新添加到XCode项目中,它就可以工作了。

干杯!


0
如果您在多个项目中使用相同的软件包名称(如果您在配置方面有所懒惰),也可能会发生这种情况。进入您的用户目录,然后转到Library/Application Support/iPhone Simulator/[您的SDK版本]/Applications并删除其中的内容。您还可能需要从设备中删除该应用程序。这将删除对其他项目文件的任何意外引用,这可能会导致此错误。

0

当您将多个项目添加到工作区时,如果在您的项目中使用相同的产品名称,可能会发生冲突。

请在具有相同名称的项目中重命名产品名称

...希望这能帮到您....


0

如果您对VC进行更改,例如在TableView中删除原型单元格,则有时会发生这种情况。

如果一切都失败了,我发现清理项目并重新启动Xcode可以使事情回到正轨。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接