下面的代码位于文本字段按钮中。问题是val1到val3只能在一个if语句中使用。如何在if
语句中声明要多次使用的变量?
if let val1 = Int(a1.text!), let val2 = Int(a2.text!), let val3 = Int(b1.text!) {
let sum = val1 + val2
let sum2 = val1 + val3
}
if a2.text == "$" {
a1.text = String(sum2)
}
答案 0 :(得分:0)
好吧,既然你使用可选绑定来声明常量val1,val2和val3,它们只能在第一个if语句中使用。
对于常量sum和sum2,它们在第一个if语句中声明,因此您无法从第二个if语句访问它们。
如果在第二个if语句中访问sum和sum2是你想要做的,那么声明第一个if语句的sum和sum2 OUTSIDE:
var sum: Int = 0
var sum2: Int = 0
if let val1 = Int(a1.text!), let val2 = Int(a2.text!), let val3 = Int(b1.text!) {
sum = val1 + val2
sum2 = val1 + val3
}
if a2.text == "$" {
a1.text = String(sum2)
}
现在,您可以将sum和sum2声明为全局变量,这样您就可以在文件中的任何位置访问它们。
如果要在第二个if语句中访问val1,val2或val3,则不能。如果你想这样做,你将不得不重组你的代码。