当任何字段留空时,UITextfield值的总和会崩溃

时间:2016-01-13 01:01:17

标签: ios sum uitextfield swift2 xcode7

Screenshot of simulator screen

大家好。我刚刚开始尝试在Swift 2中学习编码。我正在尝试创建一个非常简单的应用程序,我可以在其中添加分数,推动我的"计算"按钮并显示标签中的总数。我能够做到这一点,如截图中所示。我遇到的问题是,如果我没有在其中一个文本字段中输入分数并仍然尝试计算它,它就会崩溃。这是我的代码:

    class ViewController: UIViewController {


@IBOutlet weak var score1: UITextField!

@IBOutlet weak var score2: UITextField!

@IBOutlet weak var score3: UITextField!

@IBOutlet weak var total: UILabel!

@IBAction func Calculate(sender: AnyObject) {

    let score1 = Int(score1.text!)!
    let score2 = Int(score2.text!)!
    let score3 = Int(score3.text!)!
    let alltogether = (scoreone) + (scoretwo) + (scorethree)

    total.text = "Your total score is \(alltogether)!"

}

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

}

有人能指出我需要注意的方向吗?我认为如果字段为零,我需要添加某种豁免。或者是什么沿着制作默认的int 0 ???谢谢大家!

1 个答案:

答案 0 :(得分:2)

let score1 : Int = Int(score1.text ?? "") ?? 0
let score2 : Int = Int(score2.text ?? "") ?? 0
let score3 : Int = Int(score3.text ?? "") ?? 0

如果您的字段为空或非数字(或0属性UITextField包含.text),这将产生值nil