我必须根据两个日期进行一些微积分,并且用户说是否应该计算初始月份。
我的代码是这样的:
let qtMeses = getMonthDifference( dateaq!, d2: datebase! )
if ( proprioMesSwitch.on ){
let qtMeses = qtMeses + 1
}
例程计算两个日期之间的月份,并检查用户是否选中了初始月份选项。
在调用getMonthDifference过程后,假设qtMeses变量的值为20。在测试proprioMesSwitch并执行let qtMeses = qtMeses + 1行之后,即使之后的结果仍然相同20。
我做错了什么?谢谢你。
答案 0 :(得分:2)
使用let ...你定义一个新变量qtMeses,隐藏外部变量。
使用:
var qtMeses = getMonthDifference( dateaq!, d2: datebase! )
if (proprioMesSwitch.on) {
qtMeses = qtMeses + 1
}
答案 1 :(得分:0)
我找到了问题的答案。即使我已经使用var qtMeses声明了变量qtMeses,我使用了让qtMeses为这个变量赋值。
但是因为让qtMeses swift将我的var改为一个s why i couldn
t不再改变它的常量。
qtMeses = getMonthDifference( dateaq!, d2: datebase! )
if ( proprioMesSwitch.on ){
qtMeses = qtMeses + 1
}
没有问题。