繁体   English   中英

无法在新的自定义类 Xcode 11 中连接到 IBOutlet

[英]Cannot connect to IBOutlet in a new custom class Xcode 11

我正在 Xcode 11 中开发一个 iOS 项目,以创建一个将华氏温度转换为摄氏温度的应用程序。 我删除了默认的 ViewController.swift 文件并创建了一个名为 ConversionViewController.swift 的更具描述性的名称的自定义类。 该文件随后被保存到当前项目中。 该文件包含以下代码行:

class ConversionViewController: UIViewController {

    @IBOutlet var celsiusLabel: UILabel!

    @IBAction func fahrenheitFieldEditingChanged(_ textField: UITextField) {
        celsiusLabel.text = textField.text
    }
}

在 Main.storyboard 中,我在文档大纲中选择了View Controller ,然后打开了身份检查器。 在身份检查器的Custom Class部分中,我将类更改为ConversionViewController ,在模块字段下方,我选中了Inherit module from target 接下来,我想为摄氏度文本标签创建一个出口,并为文本字段创建一个在文本更改时调用的操作。 因此,我打开 Main.storyboard 并尝试从文档大纲中的Conversion View Controller控制拖动到摄氏度标签,并将其连接到 ConversionViewController.swift 中的celsiusLabel

问题是Xcode不会让我。 当我从Conversion View Controller控制拖动到摄氏度标签时,没有任何反应。 我没有得到一个弹出框,让我可以选择出口celsiusLabel

我试过去 Product --> Clean Build Folder 但这并没有解决问题。 是不是少了一步? 我正在使用 iOS Programming: Big Nerd Ranch Guide 6th edition,我知道它不是为 Xcode 11 编写的。

当我从转换视图控制器控制拖动到摄氏度标签时,没有任何反应。 我没有得到一个弹出框,让我可以选择出口 celsiusLabel。

是的,我经常看到这个问题。 通常我可以通过不同的方式拖动来解决它。 例如,选择标签,在右侧切换到 Connections 检查器,然后从 New Referencing Outlet 旁边的圆圈拖到大纲中的视图控制器上。 现在它可以让您建立连接吗?

在您的 StoryBoard 中,通过单击显示名称的顶​​部选择 ViewController,然后选择连接检查器(最后一个选项)。 您将在插座下方看到您的摄氏度标签。 从标签的空圆圈那里拖到 ViewController 的视图中的标签并连接。

我遇到了同样的问题:- 将通过两种方式解决:-

1) 更改 .swift 文件的名称后,只需清理构建。 如果它不允许您创建插座,则只需退出 xcode 并再次运行它,它将允许您将插座添加到类中。

2)。 在连接检查器中选择引用插座下的圆圈并将其拖到 viewController 以创建控件的插座。

当我移动或重命名文件时,这通常会发生在我身上。 在这些情况下的修复是从“编译源”列表中删除文件,然后重新添加。 然后构建(不需要干净的构建)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM