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

170

自从我开始使用Xcode(4.6.3)以来,这个bug就一直困扰着我。每当我尝试将Storyboard中的项目链接到我的代码时,就会出现以下错误:

无法找到名为ViewController的类的任何信息。

这也会影响到自定义类。我试过以下方法:

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

无论是任何类,在我的所有项目中都无法使用ctrl-drag创建连接。即使是全新的模板应用程序也会出现相同的问题。如果我手动输入代码然后使用ctrl-drag,我可以创建一个工作连接,但我无法自动添加它。迄今为止,我在互联网上找到的任何方法都没有帮助。有什么建议吗?


你确定 ViewController .m 文件已经被正确地包含在目标中了吗?(在右侧检查器面板中的复选框) - Alfie Hanssen
2
你的storyboard中有一个视图控制器,并指定了“ViewController”作为应该实例化以管理视图的类的名称。检查storyboard中的每个视图控制器:选择视图控制器,查看右侧窗格上的“identity inspector”,并查看“Custom Class”属性。如果它读取“ViewController”,那么这就是问题所在。输入应该管理你的视图控制器的类的名称...或者输入UIViewController以获取默认的UIKit实现。 - Nicholas Hart
1
我在“Identity Inspector”中将自定义类更改为“UIViewController”,然后无法再从Storyboard拖动到ViewController.h。如果我创建一个新类并尝试将其ctrl-drag到其中(在相应地设置视图控制器的类之后),我会得到相同的“找不到任何信息”的错误提示。 - user2597451
4
我也遇到过这个问题,对自动生成的ViewController类进行修改后解决了。例如,在viewDidLoad:方法中添加一个NSLog()即可。 - j b
1
可能是重复的问题:无法插入新的出口连接:找不到所命名类的任何信息 - Andrew_STOP_RU_WAR_IN_UA
在我的情况下,我创建了一个名为“aaa”的视图控制器,删除了引用但没有删除。我本意是要删除并删除引用。所以我去文件系统中删除了该文件。然后我重新创建了一个同名的新视图控制器。我确实想知道是否会有一些我不知道的剩余问题,因为我对Swift还很陌生。最终,我进行了Build->Clean,然后重新启动了XCode(“打开myproject.xcworkspace”)。然后我就能够无误地拖动插座了。 - Lucy
41个回答

1

好的,各位看到了几乎所有的顶级答案,但都对我没有用。

所以对我有用的是以下内容:

  1. 从您的Xcode项目中复制 Derived Data 地址。 可以使用以下方法完成:

Xcode -> Preferences -> Location Tab -> Derived Data

  1. 关闭Xcode

  2. 现在前往派生数据位置并删除您的项目文件夹。

现在打开Xcode,就可以了!


1
根据我的测试经验,如果你在Xcode中删除了一个与类相关联的文件,然后再次添加该文件,那么就会出现这个问题。

1

以上步骤均未对我有效,但我认为我可能已经发现了问题所在。至少这是对我有效的方法,而且这不是Xcode中的一个错误。

当在助手编辑器中查看您的viewController代码的窗口顶部时,第三个选项很可能说“手动”,但它应该说“自动”。一旦我更改了这个选项,问题就解决了!


1

我刚刚重新启动了Xcode,然后它就可以工作了。


1

只需要清理并重新构建该项目。


0

前往项目文件夹并删除派生数据文件夹

如果找不到派生数据,请前往Finder并前往

 ~/Library/Developer/XCode/DerivedData/"project"

(将“项目”名称替换为项目名称)


0

试一下这个

rm -rf ~/Library/Caches/com.apple.dt.Xcode
defaults delete com.apple.dt.Xcode IDEIndexDisable
defaults write com.apple.dt.Xcode IDEIndexEnable 1 

0

删除文件(仅限引用),然后再添加文件。


0

尝试删除项目的派生数据


0

对我来说,问题在于项目中存在语法错误。 解决了错误后,一切都正常工作了。 我正在使用xCode 11。


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