2015-11-22 49 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。 –