Screenshot of simulator screen當任何字段留空時,UITextfield值的總和崩潰
大家好。我剛剛開始嘗試在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的東西?謝謝你們!
你強制展開一個可選變量。如果任何字段(例如文本字段「score1」)爲空,則下面一行代碼「let score1 = Int(score1.text!)!」將失敗,因爲發送時「Int」初始化程序將返回「nil」一個空的字符串。在這裏有幾個線程解釋瞭如何安全地打開可選項,以及如何將'String'值轉換爲'Int',參見例如。 [LeoDabus在此主題中的答案](http://stackoverflow.com/a/34294660/4573247)。 – dfri
可能重複[Swift - 將字符串轉換爲Int](http://stackoverflow.com/questions/24115141/swift-converting-string-to-int) – dfri