BUTTON.SETTITLE - >致命错误:在解开Optional值时意外发现nil

时间:2018-03-19 00:44:54

标签: swift xcode

@IBOutlet weak var button: UIButton!
@IBOutlet weak var ergebnis: UILabel!
@IBOutlet weak var fingerTextfield: UITextField!


@IBAction func guess(_ sender: Any) {
    let diceRoll = arc4random_uniform(5)
    let fingerErgebnis = diceRoll + 1
    let fingerAntwort = String(fingerErgebnis)

    if fingerTextfield.text == fingerAntwort{
        ergebnis.text = "Richtig erraten!"
        button.isHidden = true
        ergebnis.textColor = UIColor.green
        ergebnis.font = ergebnis.font.withSize(20)
        button.setTitle("Neues Spiel!", for: .normal)
        fingerTextfield.text = ""
        DispatchQueue.main.asyncAfter(deadline: .now() + 2) { [weak self] in
            // assuming button is a property of the current view controller
            self?.button.isHidden = false
        }


    }else if fingerErgebnis == 1 {
        ergebnis.text = "Leider falsch! Die Zahl war \(fingerAntwort)."
        ergebnis.textColor = UIColor.red
        button.setTitle("Versuch es nochmal!", for:.normal)

    }else if fingerErgebnis == 2 {
        ergebnis.text = "Leider falsch! Die Zahl war \(fingerAntwort)."
        ergebnis.textColor = UIColor.red
        button.setTitle("Versuch es nochmal!", for:.normal)

    }else if fingerErgebnis == 3 {
        ergebnis.text = "Leider falsch! Die Zahl war \(fingerAntwort)."
        ergebnis.textColor = UIColor.red
        button.setTitle("Versuch es nochmal!", for: .normal)

    }else if fingerErgebnis == 4 {
        ergebnis.text = "Leider falsch! Die Zahl war \(fingerAntwort)."
        ergebnis.textColor = UIColor.red
        button.setTitle("Versuch es nochmal!", for: .normal)

    }else if fingerErgebnis == 5 {
        ergebnis.text = "Leider falsch! Die Zahl war \(fingerAntwort)."
        ergebnis.textColor = UIColor.red
        button.setTitle("Versuch es nochmal!", for: .normal)

    }else{
        ergebnis.text = "Leider falsch! Die Zahl war \(fingerAntwort)."
        ergebnis.textColor = UIColor.red
        button.setTitle("Versuch es nochmal!", for: .normal)

    }

}



override func viewDidLoad() {


    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

}

大家好,我学得很快,有问题。如果我测试这段代码,我会收到错误。

  

线程1:致命错误:在解包可选值时意外发现nil

我会在行上得到错误

button.setTitle(“Versuch es nochmal!”,for:。normal)

我不知道为什么。我已经尝试了一些我找到的解决方案,但它不起作用。我不明白......也许有人可以帮助我。

0 个答案:

没有答案