2015-04-22 103 views
0

我有5个UISwitch的simpel视图,我想确保只有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 
} 

还要注意使用||(逻辑或)而不是|(逐位OR)。

0

感谢您对我的支持||然后我CUD只会使,如果我检查工作,是开关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 


}