下面的代码片段始终启用打印调试,无论debug为0还是1 即使我们将debug视为bool并检查true或false,也会发生相同的情况 问题是语法错误或下面的字段始终在其他字段中起作用 Java,kotlin,kotlin-native等语言,我也尝试过
int debug = 1;
checkDebug(int i) {
//int debug = 1;
Color color;
if (debug == 1) {
print('debugging enabled');
switch (i) {
case 1:
color = Colors.amber;
break;
case 2:
color = Colors.amberAccent;
break;
case 3:
color = Colors.blue;
break;
case 4:
color = Colors.black;
break;
default:
}
return color;
} else if (debug == 0) {
print('debugging disabled');
return null;
}
}
对此有什么可能的解决方案,因为我总是在类的顶部使用调试变量,而其他变量仅在仅在方法中分配了调试时,此代码才起作用
编辑:答案
上面使用有状态的小部件,因此在更改变量时调用setState()可解决问题
void changeVariable(){
debug = 0;
setState((){});
}
解决了问题