gpt4 book ai didi

swift - 从文本字段中展开两个选项

转载 作者:行者123 更新时间:2023-11-30 12:00:36 26 4
gpt4 key购买 nike

我正在编写一个简单的应用程序,其中包括根据用户在文本字段中输入的 ID 和 OD 来计算面积。在输入 ID 和 OD 之前,该区域的标签将被隐藏。我在打开 ID 和 OD 文本字段的选项时遇到问题,以避免用户按“返回”而不输入任何数字时出现错误。这是我写的,我认为除非两个字段都包含数字,否则不会运行面积计算代码(我已将键盘限制为仅数字),但是当我在任一字段中按“返回”而不输入任何内容时,我仍然在面积计算代码中得到“nilOptionalError”。

//move onto next field after return
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
if let nextField = textField.superview?.viewWithTag(textField.tag + 1) as? UITextField {
nextField.becomeFirstResponder()
} else{
textField.resignFirstResponder()
}
//calculate and display gasket area
if textField == self.gasketODInput || textField == self.gasketIDInput {
if let gasketIDString = gasketIDInput?.text, let gasketODString = gasketODInput?.text{
gasketArea = 0.7854*(Float(gasketODString)!*Float(gasketODString)!-Float(gasketIDString)!*Float(gasketIDString)!)
gasketAreaLabel.text = String(gasketArea)
self.gasketAreaLabel.isHidden = false
}
}
return false
}

最佳答案

您需要安全地解开将文本转换为 Float 的尝试。

if let gasketIDString = gasketIDInput?.text,
let gasketODString = gasketODInput?.text,
let gasketOD = Float(gasketODString),
let gasketID = Float(gasketIDString) {

gasketArea = 0.7854 * (gasketOD * gasketOD - gasketID * gasketID)
gasketAreaLabel.text = String(gasketArea)
self.gasketAreaLabel.isHidden = false
}

关于swift - 从文本字段中展开两个选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47291175/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com