Как я могу использовать несколько элементов в одном операторе if? - PullRequest
0 голосов
/ 13 января 2012

в этом случае я использую:

- (IBAction)reset:(id) sender {

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

}

Как я могу это сделать? У меня есть все 12 пунктов, которые мне нужны в заявлении. Спасибо!

Ответы [ 2 ]

3 голосов
/ 14 января 2012

Вы можете использовать решение, опубликованное @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;
2 голосов
/ 13 января 2012

Убедитесь, что вы используете == для сравнения значений, но так как они уже являются логическими значениями, вам не нужно сравнивать с YES.Если все сравнения являются И (&&), и вы можете удалить круглые скобки, в противном случае, если есть какие-либо операции ИЛИ (||), вам необходимо сгруппировать соответствующие операции.

if (boxHide1.hidden && 
    boxHide2.hidden && 
    ... &&
    boxHide12.hidden) 
{
    resetHide.hidden = NO;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...