2016-02-14 33 views
0

我正在研究一個簡單的應用程序,我需要將兩個數字一起添加到文本字段中。我想這樣做,以便如果文本字段中沒有條目,它將計算爲0.什麼是最有效的方法?任何幫助,將不勝感激測試可選爲零並將零切換爲0

@IBAction func myButton(sender: AnyObject) { 

    //reveals label upon click of button 
    myLabel1.hidden = false 

    //textField constants 
    let firstNum = Double(myTextField1.text!) 
    let secondNum = Double(myTextField2.text!) 


    let outputValue = Double(firstNum! + secondNum!) 
    myLabel1.text = "Result: \(outputValue)" 


} 

回答

4

使用nil coalescing operator(從vacawama修正):

let firstNum = Double(myTextField1.text ?? "") ?? 0 
let secondNum = Double(myTextField2.text ?? "") ?? 0 
+0

我想,它給了我關於字符串和整數的錯誤。您的回覆確實鼓勵我以其他形式嘗試此操作,並且我確實已將其付諸實施... – rowenarrow

+0

let firstNum = Double(myTextField1.text!)?? 0和我不得不改變outpuValue,但現在它似乎已經打破了我的鍵盤調用,哈哈 – rowenarrow

+1

這有問題。一個'?'後面必須有成員訪問,方法調用或索引。我建議'讓firstNum = Double(myTextField1.text ??「」)?? 0'。這將處理一個零字段和一個不會轉換爲雙「雙」的字段。 – vacawama