158

无法插入新的插座连接:找不到该类的任何信息,也没有显示任何名为“ViewController”的类

我已经完成的解决方案: - 重新启动 XCode - 重新启动系统 - 从 /Library/developer/xcode 中删除了 Deriveddata 内容

但没有什么对我有用

这是错误的屏幕截图 在此处输入图像描述

4

9 回答 9

256

我今天遇到了和你一样的问题......我认为这是Xcode的一个错误,下面是解决这个问题的方法:

  1. 关闭您正在处理的项目。
  2. 删除项目的【DerivedData】文件夹。(此文件夹可能在您的项目文件夹内,或在 ~/Library/Developer/Xcode/DerivedData/(your project)/ 内)或您设置的其他地方。
  3. 重新启动您的项目。

经过这些步骤,问题应该得到解决。而且根据我的经验,这些步骤可以解决很多 Xcode 问题,所以如果你再次遇到 Xcode 问题,请先尝试这些步骤。

于 2013-04-24T03:05:23.927 回答
134

删除(删除引用,而不是删除)然后添加适当的文件(要添加插座的类的文件)实际上就足够了。

编辑 1我发现取消选中后(在 XCode 6.3.1 中)我必须等待几秒钟才能Indexing在项目名称框中出现并完成。倒退的方式也一样。这增加了在几乎所有(但不是所有)情况下解决问题的机会。

编辑 2 删除引用意味着您没有完全删除文件,而只是将其从项目中删除(它仍然存在于项目的文件夹中,稍后添加)。

在此处输入图像描述

于 2013-04-12T13:17:47.923 回答
51

这是最常见的问题file indexing

要修复它,请尝试clean your target如果这不起作用,请转到您的Derived Data文件夹并在那里删除您的应用程序。这将强制 xCode 重新索引文件

于 2013-03-08T07:35:00.050 回答
13

刚刚在 Xcode 4.6.2 上遇到了同样的问题。
尝试了不同答案/评论中提出的解决方案,但它仍然不起作用。

然后我所做的只是:

  1. 保存我所有的工作;
  2. 只需退出 Xcode并再次加载它;
  3. 然后我能够成功插入新的插座连接。

希望这会为其他人节省一些时间/挫败感。

于 2013-05-25T02:23:37.420 回答
12

就个人而言,我遇到了同样的问题:“无法插入新的插座连接”并且当我开始输入“UI ...”之类的内容时,XCode 没有做任何事情。我搜索了答案,尝试了几件事……但这只是一个未选中的框。当我创建一个新类时,XCode 取消选中将类链接到项目的框(我猜)。

我无法发布屏幕截图,因为我没有 10 个声望,但是当您创建课程时,XCode 会询问您要将其保存在哪里。在查找器窗口下方,您有“目标”和两个框:“YouProjectName”和“YouProjectNameTests”。你应该检查第一个(至少)。

希望这会有所帮助。我看到了关于这个主题的不同讨论。

创建新课程时的屏幕截图

于 2013-07-23T10:37:16.860 回答
7

我最近遇到了这个问题。我很快意识到原因是我自己做的。我以前在终端窗口中使用以下代码禁用了 XCode 索引(它曾经永远占用我的 RAM):

defaults write com.apple.dt.XCode IDEIndexDisable 1

要将 XCode 恢复为其默认状态,我在终端窗口中使用了以下行:

defaults write com.apple.dt.XCode IDEIndexDisable 0

瞧!一切又好了。。

于 2013-08-02T06:58:34.397 回答
4

如果您已将类导入 Xcode 项目,则必须手动将类(.m 文件)添加到“编译源”中。

选择项目图标 > TARGETS > Build Phases > Compile Sources 单击 + 按钮并添加您的 *.m 文件。

于 2013-07-22T11:59:29.297 回答
3

最后,我通过从我的 Mac 中完全删除 xcode 并重新安装 xocde.dmg 文件,然后安装驻留在 /Applications/Xcode.app/Contents/Resources/Packages 上的 MobileDevice.pkg 和 MobileDeviceDevelopment.pkg 来做到这一点

于 2013-03-08T13:28:36.597 回答
0

确保您的源代码已包含在“构建阶段”位置。

这确实解决了我的问题。但我认为 Xcode 仍然非常有问题和烦人。

于 2013-06-29T07:31:14.790 回答