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 ???谢谢大家!
答案 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
。