"找不到名为ViewController的类的任何信息"

use*_*451 146 xcode iboutlet ios

自从我开始使用Xcode(4.6.3)以来,这个错误一直让我疯狂.每当我尝试将Storyboard项链接到我的代码时,我都会收到错误:

找不到名为ViewController的类的任何信息.

这也发生在自定义类中.我尝试过如下方法:

  • 删除委托数据.
  • 删除并重新添加类.
  • 重启Xcode.
  • 重新安装Xcode.

无论类是什么,我都无法按住Ctrl键拖动以在任何项目中创建连接.全新的模板应用程序也会出现同样的问题.如果我手动输入代码然后按住Ctrl键拖动,我可以建立一个有效的连接,但是我无法自动添加它.到目前为止,我在互联网上找不到的任何东西都有帮助.有什么指针吗?

Chr*_*son 273

为我解决这个问题的实际上是从项目中删除了这个类.

脚步:

  1. 在项目文件资源管理器(左侧面板)中找到该类并右键单击 - >删除
  2. 删除引用(不要移动到垃圾箱,因为你会失去好的课程)
  3. 右键单击包含类的文件夹 - >将文件添加到...
  4. 找到您刚刚在文件系统中删除的类

这似乎迫使Xcode将类链接回故事板.

注:我下面也没有工作:

  • 关闭Xcode
  • 清洁项目
  • 从故事板中删除类名并重新输入

我认为这是Apple的一个错误

  • 我试过这个,但它对我不起作用/ - :同样的错误. (8认同)
  • 这个问题的历史可以追溯到2013年7月,截至今天的2016年5月,我得到了同样的错误并修复了这个答案.多年来苹果公司怎么没有把它解决好? (5认同)
  • 不敢相信这还是个问题.只需在XCode 8.1上执行此操作.. (3认同)
  • @Michael,是的,现在我所处的情况是上述方法都不起作用。Xcode是一个*** (2认同)
  • 2017年(版本8.2(8C38))并且还活着,Xcode SUCKS.当您将故事板中的UI人员从一个场景复制粘贴到另一个场景时,我会发生这种情况 (2认同)

And*_*son 127

如果有人仍对此感到沮丧,那么就有办法让事情顺利进行.

我所做的是手动输入我的班级的插座,例如:@IBOutlet weak var someView: UIView!,然后从代码拖到IB或故事板中的视图.在此之后,我可以从IB/Storyboard拖到我的班级进行连接,助理编辑在"自动"中识别班级等...

每次都有效.

  • @ Gmeister4,如果您在代码中创建一个插座,它会在插座左侧显示一个小圆圈.单击并从该圆圈拖动到IB或Storyboard中的视图以建立连接. (6认同)
  • 比最佳答案更容易.+1 (4认同)
  • 不知道你的意思,"并从代码中拖出来" (3认同)
  • 仍然不能以正确的方式做到这一点,即使在此之后 - 但至少*这个*有效! (2认同)
  • 如此简单,每次都能工作!谢谢!! (2认同)

Ruu*_*ser 34

对我来说,将它们从正确列中的目标成员资格中删除并再次添加它们就可以了 在此输入图像描述


MRi*_*n33 9

有时Xcode会因为VC没有引用类文件.对此的简单解决方案是:

手动写属性给定.

class YourClassName{

     @IBOutlet weak var YourTableName: UITableView!

}
Run Code Online (Sandbox Code Playgroud)

这将在@IBOutlet之前创建一个空链接标志,在助理编辑器中打开您的项目,然后单击链接标志在此输入图像描述并拖动到要连接的视图(我已连接到TableView).就是这样.享受快乐的编码!!!


Amr*_*gry 6

以下步骤对我有用,希望对你也有用

1-关闭Xcode后需要重新打开项目.

2-等待索引项目文件

3-检查是否有效

4-如果仍然不工作,请按照步骤5,如果不高兴你:)

5-清理并构建项目目标

在此输入图像描述


Jes*_*uez 6

我刚刚在2017年4月使用Xcode 8遇到了这个问题

只需通过代码创建一个插座并编译修复它.例如:

@IBOutlet weak var containerViewHeight: NSLayoutConstraint!
Run Code Online (Sandbox Code Playgroud)

你必须爱Xcode ......

编辑:仍然在Xcode 9上发生


gmo*_*mes 5

我尝试了一切,但没有用,所以对我来说有用的是:

  • 清理Build文件夹和项目.
  • 打开项目(窗口 - >项目)
  • 在列表中找到您的项目并删除派生数据
  • 关闭Xcode
  • 重新启动计算机(不选择重新打开已打开的窗口)
  • 运行Xcode
  • 工作!

我的所有视图控制器都没有被识别,因此删除所有文件并重新添加不是一个选项,因为这是一个大项目.


Cap*_*Jak 0

我会尝试重新制作有问题的 .m 和 .h 文件,并给它们一个原始名称,而不是像“ViewController”这样的通用名称。尝试更多按照您希望该文件执行的操作,并以视图控制器结束(即“PizzaDecoraterViewController”)

然后选择您想要连接到这些文件的 ViewController。确保选择 ViewController,而不仅仅是其中的一个对象。单击底部的黑色栏(带有“第一响应者”和“退出”图标的黑色栏)。整个 ViewController 的轮廓应该是蓝色的。然后转到身份检查器中的自定义类部分,您应该在第一个字段中看到灰显的“UIViewController”。在该字段中,输入您希望其连接到的 .h 或 .m 文件的名称(开始输入 PizzaDecorator...,它应该执行一些自动完成操作)。然后按回车键。

当您打开助理编辑器时,请确保您尝试拖放到的文件实际上是正确的文件。

如果您已完成上述所有操作,那么它应该可以工作。