Ios nil测试可选,并将nil切换为0
我正在开发一个简单的应用程序,我需要将两个输入文本字段的数字加在一起。我想这样做,如果文本字段中的on没有条目,它将计算为0。最有效的方法是什么?任何帮助都将不胜感激Ios nil测试可选,并将nil切换为0,ios,swift,optional,Ios,Swift,Optional,我正在开发一个简单的应用程序,我需要将两个输入文本字段的数字加在一起。我想这样做,如果文本字段中的on没有条目,它将计算为0。最有效的方法是什么?任何帮助都将不胜感激 @IBAction func myButton(sender: AnyObject) { //reveals label upon click of button myLabel1.hidden = false //textField constants let firstNum = Doubl
@IBAction func myButton(sender: AnyObject) {
//reveals label upon click of button
myLabel1.hidden = false
//textField constants
let firstNum = Double(myTextField1.text!)
let secondNum = Double(myTextField2.text!)
let outputValue = Double(firstNum! + secondNum!)
myLabel1.text = "Result: \(outputValue)"
}
使用(带有来自的更正):
let firstNum = Double(myTextField1.text ?? "") ?? 0
let secondNum = Double(myTextField2.text ?? "") ?? 0
使用(带有来自的更正):
let firstNum = Double(myTextField1.text ?? "") ?? 0
let secondNum = Double(myTextField2.text ?? "") ?? 0
我试过了,它给了我一个关于字符串和整数的错误。你的回答确实鼓励我用其他形式尝试这个方法,而且我确实成功了……让firstNum=Double(myTextField1.text!)??0,我不得不更改输出值,但现在它似乎破坏了我的键盘调用,这有问题。
?
后面必须跟有成员访问、方法调用或索引。我建议让firstNum=Double(myTextField1.text??)??0
。这将处理一个nil字段和一个不转换为类似“2”的双精度字段。@vacawama yup意识到,正如我所做的那样,thx用于校正。nil合并运算符
非常有用<代码>a=b??c是b!=nil{a=b!}否则{a=c}。使用三元?:
运算符,它是a=(b!=nil)的缩写?b!:c
。我试过了,它给了我一个关于字符串和整数的错误。你的回答确实鼓励我用其他形式尝试这个方法,而且我确实成功了……让firstNum=Double(myTextField1.text!)??0,我不得不更改输出值,但现在它似乎破坏了我的键盘调用,这有问题。?
后面必须跟有成员访问、方法调用或索引。我建议让firstNum=Double(myTextField1.text??)??0
。这将处理一个nil字段和一个不转换为类似“2”的双精度字段。@vacawama yup意识到,正如我所做的那样,thx用于校正。nil合并运算符
非常有用<代码>a=b??c是b!=nil{a=b!}否则{a=c}。使用三元?:
运算符,它是a=(b!=nil)的缩写?b!:c
。