这段代码似乎完全合乎逻辑。为什么我得到“开关条件具有布尔值”错误?我使用它来切换UIButton
上的文字。它的工作原理,但我仍然有错误。开关条件有布尔值吗?
bool buttonSunStatus = TRUE;
- (void) useButtonSun:(id)sender
{
buttonSun = [UIButton buttonWithType: UIButtonTypeCustom];
switch (buttonSunStatus) {
case TRUE:
[sender setTitle:@"No Sun" forState:UIControlStateNormal];
buttonSunStatus = FALSE;
break;
case FALSE:
[sender setTitle:@"Sun" forState:UIControlStateNormal];
buttonSunStatus = TRUE;
break;
}
}
也许是暗示,在一个布尔值的情况下,if..then..else ..可能是解决方案更好 – deau 2014-10-16 18:35:43
如果你在'YES'和'NO'中使用'BOOL'而不是''TRUE'和'FALSE'时使用'BOOL',你会得到错误吗?当然,在这种情况下,使用简单的“if/else”语句和“bool”值的简单切换比使用“switch”语句更容易读取和写入。 – rmaddy 2014-10-16 18:42:59
将类型更改为BOOL和YES/NO可消除此错误。道歉 - 我以为在发布这个问题之前我曾尝试过。非常感谢。 – 2014-10-22 08:37:35