条件绑定错误极其困惑

时间:2017-09-23 00:18:09

标签: ios swift

import UIKit

class ViewController: UIViewController {
    @IBAction func ButtonClicked(_ sender: Any) {

        print("SwagGODX")

        if let name = "bestgame.text" {

        LABEL.text = "hello" + "name"
        }

    }
    @IBOutlet weak var LABEL: UILabel!
    @IBOutlet weak var bestgame: UITextField!
}

对于条件绑定if let name = "bestgame.text",它显示错误:

  

“条件绑定的初始化程序必须具有可选类型,而不是'字符串'

我是一个完整的NOOB并且正在学习教程,但由于某种原因它适用于教师而不是我。如果有人能像我这样解释它,我会非常感激。

1 个答案:

答案 0 :(得分:3)

引号中有"bestgame.text"。您告诉编译器分配字符串常量"bestgame.text"。这不是一个选择。摆脱引号:

if let name = bestgame.text {
    label.text = "hello" + name
}

(请注意,对于label.text的分配,你也不应该在name附近有引号。我在上面的代码片段中修复了这一点。)

另请注意,变量名称应以小写字母开头并使用“驼峰大小写”(复合词中的每个单词都以大写字母开头,如thisIsMyLabel。)我更改了来自{的出口名称{1}}到LABEL。您应该更改声明以匹配。

您可能还想确保该名称不是空字符串:

label