2017-09-23 70 views
0
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"它显示与错误:条件绑定错误极其混乱

"Initializer for conditional binding must have Optional type, not 'string'

我是一个完整NOOB并跟随教程,但由于某种原因,它适用于教师,但不我。如果有人能像我五岁那样解释它,我将不胜感激。

回答

3

您有"bestgame.text"的报价。您正在告诉编译器分配字符串常量"bestgame.text"。这不是可选的。摆脱报价:

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

(需要注意的是,你也不应该有大约name报价在分配label.text我固定的,太多的代码片段上面。)

还要注意,变量名应以小写字母开头并使用“camel case”(复合词中的每个单词以大写字母开头,如thisIsMyLabel)。我将出口名称从LABEL更改为label。您应该更改声明以匹配。

您可能还需要确保这个名字是不是空字符串:

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