2015-04-22 3 views
0

У меня есть вид на симплекс с 5 UISwitch'ами, и я хочу убедиться, что только 4 можно настроить одновременно, как я могу проверить больше в одном "если" я попробовал это, и это как раз показывает alertview сверхурочно я использовать переключатель:Проверить состояние на более UISwitch в то же время

if (ishockeySwitch.state == NO | basketBallSwitch.state == NO | amrFootBallSwitch.state == NO | handBallSwitch.state == NO) { 



    UIAlertView *av = [[UIAlertView alloc] initWithTitle:@"Sofabold" message:@"Det er ikke en god ide, at fravælge alle sportsgrene." delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil]; 
    [av show]; 

    [ soccerSwitch setOn:YES animated:YES]; 
}else { 
    // ........ do some stuff ........... 
} 
+0

обновил его здесь, должны быть скопирован до редактирования имен .... но это же результат – Skovie

+0

Чтобы уточнить, вы хотите показать если все 5 переключателей отключены. верный? До тех пор, пока один включен, вы не хотите предупреждения, правильно? – rmaddy

ответ

0

если (ishockeySwitch.state == NO | ishockeySwitch.state == NO | ishockeySwitch.state == NO | ishockeySwitch.state == NO)

Вы всегда сравниваете один и тот же объект ishockeySwitch с NO. Все вы, UISwitch, должны быть объявлены в разных объектах.

if (ishockeySwitch1.state == NO || ishockeySwitch2.state == NO|| ishockeySwitch3.state == NO || ishockeySwitch4.state == NO) 
{ 
    // DO SOME STUFF 
} 
+0

даже вы сделали то же самое: P –

+0

да, простите, я только что исправил его;) – Nonouf

+1

Вы хотите '||' (логическое ИЛИ), а не '|' (побитовое ИЛИ). – rmaddy

0

Похоже, что вы спрашиваете, как показать предупреждение только в том случае, если все переключатели выключены. Другими словами, не показывайте предупреждение, если какой-либо переключатель включен. Если предположить, что это правильно, простой логики заключается в следующем:

if (ishockeySwitch.on || basketBallSwitch.on || amrFootBallSwitch.on || handBallSwitch.on) { 
    // At least one is on, do some stuff 
} else { 
    // All are off, show the alert 
} 

отметить также использование || (логическое ИЛИ) вместо | (побитовое ИЛИ).

0

Спасибо, что помогли мне. а затем я жвачка только сделать его работу, если я проверить, переключатель Ison, как показано ниже:

if ([ishockeySwitch isOn ]|| [ basketBallSwitch isOn ]|| [amrFootBallSwitch isOn] || [handBallSwitch isOn]) { 
    // At least one is on, do some stuff 



} else { 
    // All are off, show the alert 


} 
Смежные вопросы