无法插入新的插座连接错误

时间:2012-06-12 11:47:29

标签: ios objective-c uitableview cocoa-touch uikit

我创建了一个自定义单元格,用于加载到表格中。界面已经完成,现在我正在尝试链接xib和类。

我打开了分屏视图,我尝试控制拖动项目,以便Xcode可以为我建立连接。当我填写名称并单击连接时,我收到一个错误:

  

无法插入新的插座连接:无法将源代码插入到URL://localhost/Users/Velox/Projects/CompanyName/ProjectName/ProjectName/HistoryCell.m的文档中,因为它没有包含名为HistoryCell的类的类定义。

我已将xib的自定义类设置为HistoryCell。

我在这里缺少什么?

感谢。

21 个答案:

答案 0 :(得分:75)

这个问题似乎是一个Xcode错误,当你用一个同名的新文件替换一个文件时,这个问题就会出现。 Xcode似乎保留了同名旧文件的引用。

无论如何,解决这个问题的方法似乎是 -

  
      
  1. 清理项目

  2.   
  3. 点击< 您的项目>在 Project Navigator 视图中。转到要构建的目标的 Build Phases 下的 Compile Sources 。删除并添加.m文件,这会给您带来麻烦。

  4.   
  5. 或者,在NIB文件的文件检查器实用程序视图)中,在目标成员下,取消选中并检查目标名称。

  6.   
  7. 重新启动Xcode。

  8.   
  9. 当然,单独删除和添加.m文件也应该修复它。

  10.   

步骤1.和2.单独为我修复它。 随意询问是否有任何步骤需要扩展。

欢呼和快乐的编码:)

答案 1 :(得分:20)

我通过删除.m文件(仅参考)然后将其重新添加到项目中来解决此问题。我认为XCode有时会被破坏(我正在使用最新的4.6)。

答案 2 :(得分:5)

https://stackoverflow.com/a/16166878/521946

尝试清理项目并重新启动Xcode。
如果仍然无法连接,请按照Utilities部分的<{1>}导航视图,取消选中&amp; amp;选中复选框,它将起作用。也许你应该在取消选中后重建项目。

答案 3 :(得分:4)

  1. 从组件源中删除.m文件,然后重新添加。
  2. 清理并构建您的项目。
  3. 重新启动xcode。
  4. 就我而言,#1解决了问题

答案 4 :(得分:4)

退出XCode,然后使用:

清除derivedData
rm -rf ~/library/Developer/Xcode/DerivedData/*

重启XCode并连接。

如果需要,请创建别名

alias purgeallbuilds='rm -rf ~/library/Developer/Xcode/DerivedData/*'

在.bash_profile中建议here

答案 5 :(得分:4)

转到.m档案

除去

#import "calssName.h" 

保存文件

再次添加文字

#import "calssName.h"

保存文件

答案 6 :(得分:3)

问题可能是由其他错误引起的。构建程序,如果有任何错误或警告,请修复它。然后按住Ctrl键拖动再次插入插座,问题就会消失。

答案 7 :(得分:3)

我遇到了同样的问题,一个viewcontroller被删除了。我读了文件到项目但是通过从xib文件拖动添加Outlets给了我提到的错误。我清理了项目并重新启动了XCode,一切正常。< / p>

答案 8 :(得分:3)

所以,事实证明我是个傻瓜。使用Xcode你不能这样做。如果在头文件中手动创建属性,然后在类文件中合成它们,则可以通过执行以下操作进行链接:

打开xib文件 右键单击“对象”面板中的单元格 单击并从此处的选项拖动到xib上的对象。

这就是它的全部内容。

答案 9 :(得分:2)

我遇到了与Xcode 6.2相同的问题。在这种情况下,通过添加和删除无意义的东西来“触摸”目标类就足以强制重新编译。那个问题就消失了。

答案 10 :(得分:1)

虽然删除和添加再次解决方案似乎工作了一点。我很幸运地在早期就遇到了同样的情况,想要一个简单的方法来修复它,只是因为它在编程中发生了膝盖。事实证明,如果你只是构建项目“命令B”或转到产品并去构建。这工作正常,并将我的视图与指定文件相关联。

答案 11 :(得分:1)

我使用了xCode 7和iOS 9。

你的.m

中的

删除#import "VC.h"

保存.m并再次链接您的插座它工作正常。

答案 12 :(得分:0)

我为另一个项目打开了另一个Xcode窗口,模拟器也在运行。我刚刚关闭它们和Product-&gt;清理我当前的应用程序有用。

答案 13 :(得分:0)

对我来说,重新启动Xcode不起作用,我只是删除了对象并再次添加然后开始工作。

答案 14 :(得分:0)

它适用于我的情况。 1创建具有不同名称的新项目2将文件复制并粘贴到其中3从第一个项目中删除文件4将文件从新项目复制并粘贴到第一个项目。

答案 15 :(得分:0)

我试过&#34;产品&gt;清洁&#34;然后&#34;产品&gt;清洁构建文件夹&#34;但仍有问题。然后我简单地删除了与视图控制器关联的有问题的.m和.h文件给我带来问题,为视图控制器类创建了一个新的.m和.h,将新的视图控制器类重新分配给我正在使用的storyboard对象麻烦,一切都有效。

答案 16 :(得分:0)

我有一个报告的问题,试图将一个新的Watch目标添加到一个旧项目,因为我在教程之后成功地对空白项目进行了几次。我尝试插入目标方案并删除文件,目标和方案,以及重新启动Xcode并多次删除派生文件。但每次我重新创建目标并尝试激活助理编辑器时,它找不到主故事板的对应文件,如果我手动选择它然后尝试拖动新的插座我得到原始海报的错误。还有什么呢? 作为一个事实,我的错误是完全不同的,你可以在屏幕截图中看到。enter image description here

答案 17 :(得分:0)

只需重启XCode即可。它对我有用。

答案 18 :(得分:0)

确保索引尚未关闭(这是我的问题)。以下是如何从命令行重新打开它:

默认写入com.apple.dt.Xcode IDEIndexDisable 0

答案 19 :(得分:0)

删除自定义单元格(tableview单元格)并使用其他名称重新添加。它有效。

答案 20 :(得分:0)

  1. &#39;清洁&#39;项目
  2. 允许完整索引(如果没有完成)
  3. &#39;建立&#39;一旦
  4. 检查您的问题是否已修复