如何将 UISegmentedControl 类型转换为 int 进行计算?

How do you convert UISegmentedControl type to int for calculation?

swift 编程新手。我正在创建一个应用程序,通过简单的 UI 界面为用户进行计算。在收到来自 UITextfield (var weight) 的输入后,我想将该值与来自 UISegmentedControl 的输入相除。我如何获取 UISegmentedControl 给出的值并将其转换为 int,以便它可以从 var weight 中除以。这是我的代码

import UIKit

class FirstViewController: UIViewController {

@IBOutlet weak var weight: UITextField!


@IBOutlet weak var reps: UISegmentedControl!


override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

@IBAction func Calculate(sender: UIButton) {


    NSLog("Weight = \(weight.text)")

    NSLog("reps = \(reps.selectedSegmentIndex)")

}

}

如果你想获取选中的UISegmentedControl的值,你可以这样做:

var myInt:Int = reps.titleForSegmentAtIndex(reps.selectedSegmentIndex)!.toInt()!

BUT 我强烈建议您使用 double 作为您选择的类型,因为 int 不适合计算。所以你必须将你的字符串转换成双精度:

var myRepsDouble = (reps.titleForSegmentAtIndex(reps.selectedSegmentIndex)! as NSString).doubleValue

此外,如果您想使用 UITextField 的值进行计算,您还必须将其转换为 double,因为您无法使用字符串进行计算:

var myTextFieldDouble = (weight.text as NSString).doubleValue