无法插入新的出口连接:无法找到所命名类的任何信息

我在Xcode上得到一个错误说没有关于视图控制器的信息。

无法插入新的出口连接:无法找到所命名类的任何信息

为什么会这样?

截图1

183676 次浏览

以下是一些可以解决这个问题的方法(难度依次递增):

  • 清理项目(产品>洁净)
  • 手动粘贴

    @IBOutlet weak var viewName: UIView!
    // or
    @IBAction func viewTapped(_ sender: Any) { }
    

    然后control拖动到它。(根据需要更改类型。)也可参见.

  • 完全关闭Xcode并重新启动项目。

  • 删除派生数据文件夹(转到Xcode >首选项 > 位置,单击派生数据文件夹旁的灰色箭头。然后删除你的项目文件夹。)
  • 单击类上的delete,删除引用(不是Move to Trash),然后再次将其添加回来。(见这个答案)

或者,如果以上方法都不起作用,则首先在文件@IBOutlet weak var headerHeightConstraint: NSLayoutConstraint!中输入出口的名称,然后从nib中的出口单击并拖动到您刚刚以编程方式创建的变量。它应该可以工作,不需要任何清理、构建和删除任何东西的麻烦。

在我的情况下,这是bc,我在IB中选择了一个新的UIViewController文件,然后尝试按住鼠标拖动到这个新控制器,而不首先删除连接检查器中的先前连接。先删除这些,然后再试一次。

对我来说,它在右边选项卡>本地化时工作,我选中了英语复选框。最初只检查了Base。从那以后,我再也没有问题了。希望这能有所帮助!

  1. 关闭你正在做的项目。
  2. 删除项目的【DerivedData】文件夹。这个文件夹可能在里面 您的项目的文件夹,或在
    ~/Library/Developer/Xcode/DerivedData/ < br > (你的项目)/)或其他由你设置的地方。李< / >
  3. 重新启动项目。

我通过编程方式创建标签和文本字段,然后从代码左侧的小空圆圈中command - drag到Storyboard上的组件,从而解决了这个问题。为了说明我的观点:我写了@IBOutlet weak var HelloLabel: UILabel!,然后按Command并将代码拖到故事板上的组件中。

只需执行以下两个步骤来消除此错误

  1. 清洁项目使用产品>清洁
  2. 运行项目

现在尝试添加动作或出口。 就是这样。< / p >

快乐的编码

最简单的解决方案:我使用xCode 7和iOS 9。

在你的。m

#导入“VC.h”

保存.m并再次链接您的outlet,它可以正常工作。

我使用的是xCode 7和iOS 9。

在你的。m

删除#import "VC.h"

保存.m并再次链接您的outlet,它可以正常工作。

在你的。m

添加#import "VC.h"

保存打烊

以下是我解决的步骤:

  1. 从视图(storyboard/xib)中删除类名引用并保存;
  2. 再次添加类名并保存;
  3. 清洁和建设;

完成了!

我也有同样的问题。我疲倦了下面的解决方案,但没有工作:

  1. Clean Project (cmd + shift + k)甚至Clean Project Build (cmd + shift + alt + k)
  2. Deleted Derived dataModule Cache content

以下是该问题的解决方案:

  1. 移动到源代码文件并手动编写IBOutlet / IBAction(最好是复制粘贴)

截图1

  1. 然后移动到故事板文件和打开Utilites窗口
  2. Goto Connection Inspector
  3. 然后用接口生成器连接源文件中写的IBOutletIBAction

截图2

当我重命名类时,我得到了这个bug。然后我按照下面的步骤解决了这个问题

  • 在Xcode菜单-> Product -> Clean
  • Restart Xcode

这些方法对我都没用,但我确实找到了答案。

故事板中,我将相应的ViewController复制到剪贴板中并删除它,之后我再次粘贴它。

突然之间,一切都恢复了正常。

我发现了一个更简单的解决方法,因为这个bug可以在XCODE 9上找到。

第一步转到你的视图控制器,手动写入你想连接的属性,如下例所示,确保你使用下面的格式。

@IBOutlet弱变量questionsStackView: UIStackView!

第二步到你的故事板,连接你的视图或任何你试图连接到你在第一步中创建的属性的东西。

上述操作将节省您删除和清理派生数据的时间。

enter image description here

我选择了自动选项来选择ViewController.swift文件。然后我可以取outlet。

它发生在我添加了一个Swift文件到一个Objective-C项目 在这种情况下,你能做的就是。< / p >

  • __abc6 __abc1 __abc2 __abc7 __abc2 __abc8
  • __abc5 __abc1 __abc2 __abc6 __abc4
  • Voila ! You are good to go .

我也有同样的问题。我意识到在X-Code中,当我试图通过控制拖动创建一个出口时,Manual项被选中

enter image description here

我把它设置为自动后,它就工作了

enter image description here

请只执行以下两个步骤以消除此错误。

1.  Clean Project using Product -> clean.
2.  Run the Project.

现在尝试添加/连接操作或出口。

工作很好,我很多次。

最好的答案中没有一个对我有用。都快疯了。然后注意到助理编辑器以某种方式被设置为手册,我是在ViewController.swift(接口)而不是ViewController.swift文件上。

改变了,问题就解决了。这有点尴尬,但是嘿,我们都在学习。

enter image description here