這段代碼似乎完全合乎邏輯。爲什麼我得到「開關條件具有布爾值」錯誤?我使用它來切換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