一尘不染

Swift String Interpolation显示可选?

swift

当我使用以下代码并使nameTextField为“ Jeffrey”(或任何其他名称)时

@IBAction func helloWorldAction(nameTextField: UITextField) {

    nameLabel.text = "Hello, \(nameTextField.text)"

}

nameLabel显示…您好,可选(“ Jeffrey”)

但是,当我更改之前的代码以包含“!”时 像这样:

@IBAction func helloWorldAction(nameTextField: UITextField) {

    nameLabel.text = "Hello, \(nameTextField.text!)"

}

该代码按预期工作,并显示nameLabel。…您好,Jeffrey

为什么是“!” 必需,在我用来创建这个简单程序的视频教程中,他没有使用“!” 该程序按预期工作。


阅读 180

收藏
2020-07-07

共1个答案

一尘不染

可选件必须打开。您必须检查它或像您一样强行打开包装。想象一下将可选值作为放置值的方框。在访问它之前,您需要将其推出。

if let name = nameTextField.text {
    nameLabel.text = "Hello, \(name)"
}
2020-07-07