【问题标题】:Segmented Control in Calculator计算器中的分段控制
【发布时间】:2015-11-23 15:50:48
【问题描述】:

我正在尝试制作一个包含两个值的分段控件,但我在制作它时遇到了麻烦。我想将输入乘以在分段视图中选择并显示在标签中的任何一侧,但我一直遇到错误。有什么帮助吗?

@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)"

}

【问题讨论】:

  • “我一直遇到错误”什么错误? result 是什么?什么不工作?
  • 把这个错误介绍给我们。

标签: ios iphone swift math uisegmentedcontrol


【解决方案1】:

为什么在声明前使用“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)"

}

【讨论】:

  • 我明白你在说什么。现在我遇到了一个问题,它说二进制“*”不能应用于 Double 和 Int。但我不知道如何纠正。
  • @WesleyBryant 只需更改 var 结果:Int!到 var 结果:双倍! (: 或者如果您更喜欢将结果显示为整数值,请将“number1”更改为 Int 而不是 Double。
猜你喜欢
  • 1970-01-01
  • 2015-07-20
  • 1970-01-01
  • 2017-05-21
  • 2014-07-09
  • 2011-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多