Edw*_*ted 1 boolean objective-c switch-statement
这段代码似乎很合乎逻辑.为什么我得到"Switch condition has boolean value"错误?我用它来切换文字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;
}
}
Run Code Online (Sandbox Code Playgroud)
警告只是告诉您使用switch
带有布尔值的语句.对于真正的布尔值,您应该只使用if
- else
statement,而不是switch
.
注意,如果使用true boolean类型,则只会收到此警告.如果您使用BOOL
,那就是unsigned char
在Mac OS或非64位iOS上.因此,您不会对这些目标发出此警告.但是如果您使用bool
(或者如果您BOOL
在64位iOS目标上使用),您将收到此警告.
您可以switch
使用if
- else
语句替换该语句以禁止显示此警告.