如何在一个if语句中使用多个项目?

时间:2012-01-13 19:45:28

标签: objective-c ios xcode if-statement

在这种情况下,我正在使用:

- (IBAction)reset:(id) sender {

if ((boxHide1.hidden = YES) && (boxHide2.hidden = YES)) {
    resetHide.hidden = NO;
}

}

我该怎么做?我在声明中需要12个项目。谢谢!

2 个答案:

答案 0 :(得分:3)

您可以使用@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;

答案 1 :(得分:2)

请务必使用==来比较值,但由于它们已经是布尔值,因此您无需与YES进行比较。如果所有比较都是正确的AND(&&)并且您可以删除括号,否则如果有任何OR(||)操作,则需要对相应的操作进行分组。

if (boxHide1.hidden && 
    boxHide2.hidden && 
    ... &&
    boxHide12.hidden) 
{
    resetHide.hidden = NO;
}