User interface 如何将UISegmentedControl类型转换为int进行计算?
swift编程新手。我正在创建一个应用程序,通过一个简单的UI界面为用户进行计算。在我从UITextfield接收到输入(var-weight)之后,我想从UISegmentedControl提供的输入中除以该值。如何从UISegmentedControl获取给定的值并将其转换为int,以便可以将其与var-weight分开。。这是我的密码User interface 如何将UISegmentedControl类型转换为int进行计算?,user-interface,swift,operators,uisegmentedcontrol,User Interface,Swift,Operators,Uisegmentedcontrol,swift编程新手。我正在创建一个应用程序,通过一个简单的UI界面为用户进行计算。在我从UITextfield接收到输入(var-weight)之后,我想从UISegmentedControl提供的输入中除以该值。如何从UISegmentedControl获取给定的值并将其转换为int,以便可以将其与var-weight分开。。这是我的密码 import UIKit class FirstViewController: UIViewController { @IBOutlet weak va
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()!
但是我强烈建议您使用double作为您的类型选择,因为int对于计算来说并不太好。因此,您必须将字符串转换为双精度:
var myRepsDouble = (reps.titleForSegmentAtIndex(reps.selectedSegmentIndex)! as NSString).doubleValue
此外,如果要使用UITextField的值进行计算,还必须将其强制转换为double,因为不能使用字符串进行计算:
var myTextFieldDouble = (weight.text as NSString).doubleValue
非常感谢你!非常尊重像你这样的开发者!不客气。你能接受我的答案吗?其他人能更容易找到答案吗?你好!我已经使用您最后的建议将权重变量从UITextField转换为type double。现在如何使用该值执行计算。假设我想将var weight除以2,然后记录结果?这样做:
var result=myTextFieldDouble/2
很抱歉这么说,不要误解我的意思:我想提供帮助。但是你应该试着自己解决一些问题。否则你就不会在编程方面做得更好。问一些问题是可以的,但试着自己做些事情。你也可以做一些基本的教程。例如,关于。