【发布时间】:2020-01-23 02:44:53
【问题描述】:
我正在 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 第 6 版,我知道它不是为 Xcode 11 编写的。
【问题讨论】:
-
如果我理解正确,您可以控制从 swift 文件拖动到情节提要。在这种情况下,您实际上不需要控制拖动,只需从 celsiusLabel 出口左侧的空圆圈拖动到情节提要中的实际 UILabel 即可。或者,您可以尝试控制从情节提要拖动到 swift 文件,然后您将获得您提到的弹出窗口。