无法插入新的插座连接:无法找到已命名的类的任何信息

Ege*_*kan 281 xcode interface-builder iboutlet ios swift

我在Xcode上遇到错误,说没有关于视图控制器的信息.

无法插入新的插座连接:无法找到已命名的类的任何信息

为什么会这样?

截图1

Sur*_*gch 652

以下是一些可以解决这个问题的事情(按难度递增顺序):

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

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

    并控制拖动它.(根据需要更改类型.)另见.

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

  • 删除派生数据文件夹(转到Xcode>首选项 > 位置,然后单击派生数据文件夹中的灰色箭头.然后删除项目文件夹.)
  • 单击类上的"删除",删除引用(不是"移至废纸篓"),然后重新添加.(见这个答案)

  • 在Xcode 8.3.2中,这些步骤都不适用于我.我必须"显示身份检查器">清除"类"字段(突出显示自定义类的名称并删除)>在"类"字段中重新输入类名.Xcode自动完成了类名.然后我按了回车键. (8认同)

Ste*_*aul 134

或者,如果以上都不起作用,@IBOutlet weak var headerHeightConstraint: NSLayoutConstraint!请首先在文件中键入插座的名称,然后单击并从笔尖中的插座拖动到您刚编程创建的变量.它应该没有任何清理,构建和删除任何麻烦.

  • 通常是更快的解决方案,而不是花费年龄来清理,构建等等.谢谢. (4认同)

Aks*_*ure 50

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

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

现在尝试添加动作或插座.而已.

快乐的编码

  • 奇怪......这个简单的两个步骤也帮助我解决了这个问题.所以我建议,首先尝试这些简单的步骤:-) (4认同)
  • 我也是!这是唯一有效的方法! (3认同)

Jos*_*nce 49

最好的答案中的提示都不适合我.真的很疯狂 然后注意到助理编辑器已经设置为手动,我在ViewController.swift(接口)而不是ViewController.swift文件.

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

在此输入图像描述

  • 拯救生命的答案!其他答案都没有一劳永逸地解决这个问题。太糟糕了,错误描述没有给出任何提示,表明您可能位于 Wearg 文件中。谢谢。为图像+1,一切都清楚了。 (2认同)

Cle*_*ida 14

以下是为我解决的步骤:

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

做完了!


Jay*_*bey 8

我遇到过同样的问题.我厌倦了以下解决方案,但没有奏效:

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

以下是此问题的解决方法:

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

截图1

  1. 然后转到Storyboard文件和打开Utilites窗口
  2. Connection Inspector
  3. 然后使用Interface Builder 连接IBOutletIBAction写入源文件.

截图2


Vit*_*lii 8

我有同样的问题.Manual当我尝试通过control-drag创建一个插座时,我意识到比在X-Code 项目中选择了

在此输入图像描述

在我将其设置为自动后,它工作了

在此输入图像描述


Ali*_*Ali 6

  1. 关闭您正在处理的项目.
  2. 删除项目的【DerivedData】文件夹.(此文件夹可能位于项目文件夹内,或内部
    ~/Library/Developer/Xcode/DerivedData/
    (项目)/)或您设置的其他位置.
  3. 重启你的项目.


Kub*_*ngs 6

我通过以编程方式创建标签和文本字段,然后从代码左侧的小空圈到故事板上的组件进行Command-Dragged来解决此问题.为了说明我的观点:我写了@IBOutlet weak var HelloLabel: UILabel!,然后按下Command并将代码拖到故事板上的组件中.