2015-11-22 48 views
-2

我試着去讓持有兩個值分段控制,但我有麻煩了。我想通過在分段視圖中挑選並在標籤中顯示的任何一側來增加輸入,但我仍然遇到錯誤。任何幫助?分段控制在計算器

@IBOutlet var input: UITextField! 
@IBOutlet var output: UILabel! 
@IBOutlet var controller: UISegmentedControl! 
@IBAction func convert(sender: UIButton) { 
} 






@IBAction func change(sender: AnyObject) { 
    if controller.selectedSegmentIndex == 0 { 
     result = number1 * 1 
    } 
    if controller.selectedSegmentIndex == 1 { 
     result = number1 * 5 
    } 



    let number1 = Double(input.text!) 
    label.text = "\(result)" 

} 
+1

「我不斷遇到錯誤」什麼錯誤?什麼是'結果'?什麼不工作? – luk2302

+0

向我們介紹這些錯誤。 – zuziaka

回答

3

爲什麼在聲明前使用「number1」? 試試這個:

@IBOutlet var input: UITextField! 
@IBOutlet var output: UILabel! 
var result:Double! //fixed "cannot be applied to Double and Int." problem 
@IBOutlet var controller: UISegmentedControl! 
@IBAction func convert(sender: UIButton) { 
} 


@IBAction func change(sender: AnyObject) { 
let number1 = Double(input.text!) 
    if controller.selectedSegmentIndex == 0 { 
     self.result = number1 * 1 
    } 
    if controller.selectedSegmentIndex == 1 { 
     self.result = number1 * 5 
    } 




    label.text = "\(result)" 

} 
+0

我明白你的意思了。現在我遇到了一個問題,它說二進制「*」不能應用於Double和Int。但我無法弄清楚如何改正這一點。 –

+0

@WesleyBryant只需更改var結果:Int!以var結果:雙! (:或者如果你喜歡顯示結果爲整數值,則將「number1」改爲Int而不是Double。 –