在这种情况下,我使用:如何在一个if语句中使用多个项目?
- (IBAction)reset:(id) sender {
if ((boxHide1.hidden = YES) && (boxHide2.hidden = YES)) {
resetHide.hidden = NO;
}
}
我怎样才能做到这一点?我在陈述中需要12个项目。谢谢!
在这种情况下,我使用:如何在一个if语句中使用多个项目?
- (IBAction)reset:(id) sender {
if ((boxHide1.hidden = YES) && (boxHide2.hidden = YES)) {
resetHide.hidden = NO;
}
}
我怎样才能做到这一点?我在陈述中需要12个项目。谢谢!
您可以使用该解决方案@Joe贴出但你能告诉隐蔽代码/取消隐藏可以得到非常混乱,难以阅读。
如果你想保持你的代码干净,易于理解/维护,我会把所有这些按钮放到一个NSMutableArray中并遍历它,以确定是否要显示重置按钮。
BOOL showResetButton = YES;
for (UIButton *button in buttonsArray)
{
if (button.hidden == NO) // If any of the buttons is not hidden do not show the reset button
showResetButton = NO;
}
resetButton.hidden = showResetButton;
请确保您使用==
来比较值,但由于它们已经是布尔值,因此不需要与YES
进行比较。如果所有比较结果均为AND(&&
),并且可以删除括号,否则如果有任何OR(||
)操作,则需要对相应的操作进行分组。
if (boxHide1.hidden &&
boxHide2.hidden &&
... &&
boxHide12.hidden)
{
resetHide.hidden = NO;
}
啊,谢谢你我的朋友!非常感激! – 2012-01-13 19:52:17
啊,我使用: - (IBAction为)复位:(ID)发送方{ 如果(boxHide1.hidden && boxHide2.hidden && boxHide3.hidden && boxHide4.hidden && boxHide5.hidden && boxHide6.hidden && boxHide7.hidden && boxHide8.hidden && boxHide9.hidden && boxHide10.hidden && boxHide11.hidden && boxHide12.hidden){ resetHide.enabled = YES; } } – 2012-01-13 19:54:26
@RyanCohen - 在你深入研究Objective-C之前,我建议你花更多的时间学习C语言。如果你不了解布尔逻辑,那么存储管理将成为[无礼参考]。 – 2012-01-13 20:13:37
你需要做什么? – Rog 2012-01-13 19:49:37
我正在做一个游戏,你必须点击屏幕上的所有框。我想让按钮在屏幕上隐藏更多的框,直到所有已经存在的框都消失。 – 2012-01-13 19:51:00
为什么不使用带有按钮的数组而不是使用每个按钮的实例变量? – DarkDust 2012-01-13 20:01:43