【问题标题】:Could not insert new outlet connection error无法插入新的插座连接错误
【发布时间】:2012-06-15 07:08:45
【问题描述】:

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

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

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

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

我在这里错过了什么?

谢谢。

【问题讨论】:

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


【解决方案1】:
  1. “干净”项目
  2. 让我们完成索引(如果未完成)
  3. “构建”一次
  4. 检查您的问题是否已解决

【讨论】:

    【解决方案2】:

    我使用 xCode 7 和 iOS 9。

    在你的 .m 中

    删除#import "VC.h"

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

    【讨论】:

      【解决方案3】:

      删除您的自定义单元格(tableview 单元格)并使用不同的名称再次添加。它有效。

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          【解决方案5】:

          只需重新启动 XCode。它对我有用。

          【讨论】:

          • ...两年多后?
          【解决方案6】:

          虽然删除并再次添加解决方案似乎有点工作。幸运的是,我很早就遇到了同样的情况,并且想要一种简单的方法来解决它,以防它在编程中发生。事实证明,如果您只是构建项目“命令 B”或转到产品并开始构建。这很好用,并将我的视图与指定文件相关联。

          【讨论】:

            【解决方案7】:

            我在尝试将新的 Watch 目标添加到旧项目时遇到了报告问题,因为我在遵循教程的空白项目上成功地做了几次。我尝试将目标插入方案并删除文件、目标和方案,以及多次重新启动 Xcode 并删除派生文件。但是每次我重新创建目标并尝试激活助理编辑器时,它都找不到与主故事板对应的文件,如果我手动选择它然后尝试拖动新的出口,我会得到原始海报的错误。还能是什么? 事实上,我的错误与您在屏幕截图中看到的完全不同。

            【讨论】:

            • 在您的 .storyBoard 编辑中搜索重复的 ClassNames 或 StoryBoardsIDs 为 XML,由于旧的虚假引用 @abhi1992,我发现重复的名称。如果您的其他技巧对您有用,请分享:)
            【解决方案8】:

            我尝试了“产品>清洁”,然后“产品>清洁构建文件夹”,但仍然有问题。然后我简单地删除了与给我带来问题的视图控制器关联的有问题的 .m 和 .h 文件,为视图控制器类创建了一个新的 .m 和 .h ,将新的视图控制器类重新分配给我拥有的情节提要对象麻烦,一切正常。

            【讨论】:

              【解决方案9】:

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

              【讨论】:

                【解决方案10】:

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

                【讨论】:

                  【解决方案11】:

                  我在 Xcode 6.2 中遇到了同样的问题。在这种情况下,“触摸”目标类(通过添加和删除一些无意义的东西)来强制重新编译就足够了。然后问题就解决了。

                  【讨论】:

                    【解决方案12】:

                    .m文件

                    删除

                    #import "calssName.h" 
                    

                    保存文件

                    再次添加文字

                    #import "calssName.h"

                    保存文件

                    【讨论】:

                    • 太棒了...最好的。
                    【解决方案13】:

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

                    【讨论】:

                      【解决方案14】:

                      退出 XCode,然后使用以下命令清除 derivedData:

                      rm -rf ~/library/Developer/Xcode/DerivedData/*
                      

                      重启 XCode 并连接。

                      如果需要,创建一个别名

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

                      在您的 .bash_profile 中建议 here

                      【讨论】:

                        【解决方案15】:
                        1. 从编译源中删除 .m 文件并重新添加。
                        2. 清理并构建您的项目。
                        3. 重启 xcode。

                        就我而言,#1 解决了问题

                        【讨论】:

                          【解决方案16】:

                          这个问题似乎是一个 Xcode 错误,主要是在您用同名的新文件替换文件时出现。 Xcode 似乎保留了对同名旧文件的引用。

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

                          1. 清理项目

                          2. Project Navigator 视图中单击 Your Project>。转到您正在构建的目标的Build Phases 下的Compile Sources。删除并添加回给您带来麻烦的 .m 文件。

                          3. 或者,在 NIB 文件的 File InspectorUtilities 视图)中,在 Target Membership 下取消选中并返回目标名称。

                          4. 重新启动 Xcode 以获得良好的效果。

                          5. 当然,单独删除和添加 .m 文件也应该可以解决问题。

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

                          干杯和快乐编码:)

                          【讨论】:

                          • 步骤 1. 和 2. 也为我做了。感谢您的帮助!
                          • 第 1 步和第 2 步:对我来说也是如此。谢谢!
                          • 进行了清理、构建和第 3 步!谢谢!
                          • 步骤 1 和 2 刚刚在 Xcode 7.3.1 中为我解决了这个问题。发生在已重命名的 ViewController 文件上,并且出口链接丢失了新文件名的跟踪。谢谢!
                          【解决方案17】:

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

                          尝试清理您的项目并重新启动 Xcode。
                          如果还是无法连接,按照Xcode的Utilities导航视图,在Target membership部分,取消勾选并勾选复选框,即可。也许你应该在取消选中后重建项目。

                          【讨论】:

                            【解决方案18】:

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

                            【讨论】:

                            • 啊,太好了 :) 为了找到这个简单的解决方法,我不得不经历这么多的麻烦。
                            • 它为我工作了一个稍微不同的错误:它无法创建网点,因为没有找到“@implementation”...
                            【解决方案19】:

                            我的视图控制器遇到了同样的问题,它被意外删除了。我将文件读取到项目中,但是通过从 xib 文件中拖动来添加 Outlets 给了我提到的错误。我清理了项目并重新启动了 XCode,一切又正常了。

                            【讨论】:

                              【解决方案20】:

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

                              【讨论】:

                              • 不...没有任何错误。我在 6 周前发布了解决方案?
                              • 我遇到了同样的问题。正如@Philip007 建议的那样,只需要一个简单的程序构建——然后又好了。
                              【解决方案21】:

                              所以,原来我是个傻瓜。你不能完全用 Xcode 做到这一点。如果您在头文件中手动创建属性,然后在类文件中合成它们,则可以通过执行以下操作进行链接:

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

                              这就是它的全部内容。

                              【讨论】:

                              • 我也有这个问题。我如何知道何时可以按住 ctrl 拖动对象来创建插座连接?我记得有时我在开发主细节应用程序和一些单视图应用程序时可以做到这一点。
                              • @newguy 我认为只要您不使用自定义组件就可以。
                              • 这很奇怪,因为我没有任何自定义组件。我只是在视图控制器上放了一些标签,我什至没有给出名称或视图控制器的子类,这意味着视图控制器有一个默认的类名“ViewController”。
                              • 谢谢!刚刚了解了ctrl-drag 插座参考的快捷方式。
                              猜你喜欢
                              • 2018-06-12
                              • 2013-02-23
                              • 1970-01-01
                              • 1970-01-01
                              • 1970-01-01
                              • 1970-01-01
                              • 1970-01-01
                              • 2014-01-06
                              相关资源
                              最近更新 更多