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

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

为什么会这样?


当前回答

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

清洁项目(cmd + shift + k),甚至清洁项目构建(cmd + shift + alt + k) 删除派生数据和模块缓存内容

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

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

然后移动到故事板文件和打开实用程序窗口 连接检查器 然后用Interface Builder连接源文件中编写的IBOutlet和IBAction。

其他回答

当我在Objective-C项目中添加一个Swift文件时,就发生了这种情况。 在这种情况下,你能做的就是。

选择MY_FILE.Swift >>删除>>删除引用 选择MY_FOLDER >>添加MY_FILE.Swift 瞧!你可以出发了。

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

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

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

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

@IBOutlet弱的是问题堆栈视图:UIStackView!

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

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

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