switch语句只执行默认情况Swift

时间:2017-01-20 05:37:26

标签: swift

所以我刚刚开始学习Swift,对于这个作业,我想要它做的是当你从屏幕上显示的列表中键入语言时,它将返回" hello world"用同一种语言。我有一个switch语句,由于某种原因它只执行默认情况。我想我已正确设置它,它应该像所有switch语句一样?

这是我目前在我的代码中所拥有的。

 class ViewController: UIViewController {

    @IBOutlet weak var myLabel: UILabel!

    @IBOutlet weak var myField: UITextField!

    @IBOutlet weak var myImage: UIImageView!

    @IBAction func buttonPressed(_ sender: Any) {
        myLabel.text = myField.text
        let language: String = "English"
        switch language {
            case "French":
            myLabel.text = "Bonjour le monde"
            case "Spanish":
            myLabel.text = "Hola mundo"
            case "German":
            myLabel.text = "Hallo welt"
            case "Italian":
            myLabel.text = "Ciao mondo"
            default:
            myLabel.text = "Hello world"
        }
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        myField.text = myLabel.text
    }
}

我已经在每个案例后尝试了休息,但它仍然输出默认情况。我这样做了吗? 请记住,我对Swift

非常新

1 个答案:

答案 0 :(得分:1)

每次你发表语言="英语"。这就是为什么它执行默认情况。

  @IBAction func buttonPressed(_ sender: Any) {
    let language: String = myField.text
   // use textfield text to check in Switch

    switch language {
        case "French":
        myLabel.text = "Bonjour le monde"
        case "Spanish":
        myLabel.text = "Hola mundo"
        case "German":
        myLabel.text = "Hallo welt"
        case "Italian":
        myLabel.text = "Ciao mondo"
        default:
        myLabel.text = "Hello world"
    }
}
相关问题