Jef*_*ois 13 interpolation swift
当我使用以下代码并且nameTextField为"Jeffrey"(或任何其他名称)时
@IBAction func helloWorldAction(nameTextField: UITextField) {
nameLabel.text = "Hello, \(nameTextField.text)"
}
Run Code Online (Sandbox Code Playgroud)
nameLabel显示... Hello,Optional("Jeffrey")
但是,当我将之前的代码更改为包含"!"时 像这样:
@IBAction func helloWorldAction(nameTextField: UITextField) {
nameLabel.text = "Hello, \(nameTextField.text!)"
}
Run Code Online (Sandbox Code Playgroud)
代码按预期工作,nameLabel显示....你好,杰弗里
为什么是"!" 需要,在我用来创建这个简单程序的视频教程中,他没有使用"!" 该计划按预期工作.
Cra*_*hon 16
另一种方法是在插值字符串中使用空合并运算符,以获得更漂亮的文本,而无需使用if let.
nameLabel.text = "Hello, \(nameTextField.text ?? "")"
Run Code Online (Sandbox Code Playgroud)
在这种情况下,它的可读性较差,但如果有很多字符串则可能更为可取.
Tom*_*art 12
选项必须打开.您必须检查它或强行打开包装.想象一下,将可选项作为一个放置值的框.在你可以访问之前,你需要把它拿出来.
if let name = nameTextField.text {
nameLabel.text = "Hello, \(name)"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5257 次 |
| 最近记录: |