声明文本字段变量在if语句中多次工作(swift4)

时间:2018-01-01 21:16:05

标签: swift variables if-statement declaration

下面的代码位于文本字段按钮中。问题是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)
}

1 个答案:

答案 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,则不能。如果你想这样做,你将不得不重组你的代码。