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

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

为什么会这样?


当前回答

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

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

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

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

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

其他回答

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

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

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

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

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

Clean the project (Product > Clean) Manually paste in @IBOutlet weak var viewName: UIView! // or @IBAction func viewTapped(_ sender: Any) { } and control drag to it. (Change type as needed.) Also see this. Completely close Xcode and restart your project. Delete the Derived Data folder (Go to Xcode > Preferences > Locations and click the gray arrow by the Derived Data folder. Then delete your project folder.) Click delete on the class, remove reference (not Move to Trash), and add it back again. (see this answer)

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