将两个文本字段的值相加以等于标签的总和的最简单方法是什么
what's the easiest way to add the value of two text fields to equal a sum to a label
将两个 textField
的值相加以等于标签的总和的最简单方法是什么。
以下是我使用的文本字段和标签:
@IBOutlet weak var f1TextField: UITextField!
@IBOutlet weak var f2TextField: UITextField!
@IBOutlet weak var speedLabel: UILabel!
我想用 f2TextField
添加 f1TextField
并在 "speedLabel" 中显示结果。
您可以像这样使用函数 swift 的强大功能:
if let textField1String = textField1.text, let textField2String = textField2.text {
let arr = [textField1String, textField2String]
let result = arr.compactMap({ Int([=10=]) }).reduce(0, +) //Cast in Int value + using reduce to sum all the values of array
speedLabel.text = "\(result)"
}
不管是否包含文本,最简单的就是这个。
speedLabel.text = "\(f1TextField.text)\(f2TextField.text)"
print(speedLabel.text)
如果上面有号码,请使用:
if let num1 = Double(f1TextField.text!), let num2 = Double(f2TextField.text!) {
speedLabel.text = "\(num1 + num2)"
}
即使其中一个文本字段为空或未在其中输入数字并将无效字段替换为 0,此代码也会执行
speedLabel.text = "\((Double(f1TextField.text ?? "0.0") ?? 0.0) + (Double(f2TextField.text ?? "0.0") ?? 0.0))"
将两个 textField
的值相加以等于标签的总和的最简单方法是什么。
以下是我使用的文本字段和标签:
@IBOutlet weak var f1TextField: UITextField!
@IBOutlet weak var f2TextField: UITextField!
@IBOutlet weak var speedLabel: UILabel!
我想用 f2TextField
添加 f1TextField
并在 "speedLabel" 中显示结果。
您可以像这样使用函数 swift 的强大功能:
if let textField1String = textField1.text, let textField2String = textField2.text {
let arr = [textField1String, textField2String]
let result = arr.compactMap({ Int([=10=]) }).reduce(0, +) //Cast in Int value + using reduce to sum all the values of array
speedLabel.text = "\(result)"
}
不管是否包含文本,最简单的就是这个。
speedLabel.text = "\(f1TextField.text)\(f2TextField.text)"
print(speedLabel.text)
如果上面有号码,请使用:
if let num1 = Double(f1TextField.text!), let num2 = Double(f2TextField.text!) {
speedLabel.text = "\(num1 + num2)"
}
即使其中一个文本字段为空或未在其中输入数字并将无效字段替换为 0,此代码也会执行
speedLabel.text = "\((Double(f1TextField.text ?? "0.0") ?? 0.0) + (Double(f2TextField.text ?? "0.0") ?? 0.0))"