我对Objective C
有疑问我想要一个倒置的if语句。喜欢:if (!example.hidden == YES) {
这是我的代码:
if ((randomBallTouch.x>_randomColorBall.center.x-(_randomColorBall.frame.size.width)/2) &&
(randomBallTouch.x<_randomColorBall.center.x+(_randomColorBall.frame.size.width)/2) &&
(randomBallTouch.y>_randomColorBall.center.y-(_randomColorBall.frame.size.height)/2) &&
(randomBallTouch.y<_randomColorBall.center.y+(_randomColorBall.frame.size.height)/2)) {
_randomColorBall.center = CGPointMake(randomBallTouch.x, randomBallTouch.y);
if (_randomColorBall.hidden == NO) {
_redBall.center = CGPointMake(_redBall.center.x, _redBall.center.y - 200);
}
}
但是当我这样做时:if(!(randomBallTouch.x>_randomColorBall.center.x))
等等。它不起作用。
我不能做其他事情,因为那会对其他两个if语句产生错误。
任何帮助?我正在使用Xcode 5.1。
答案 0 :(得分:1)
试试这个,只需用你的if替换你的。
if(!((randomBallTouch.x > (_randomColorBall.center.x-(_randomColorBall.frame.size.width)/2)) && (randomBallTouch.x < (_randomColorBall.center.x+(_randomColorBall.frame.size.width)/2)) && (randomBallTouch.y > (_randomColorBall.center.y-(_randomColorBall.frame.size.height)/2)) &&(randomBallTouch.y < (_randomColorBall.center.y+(_randomColorBall.frame.size.height)/2)))) {
您缺少很多括号,以使您的语句成为有效的布尔值。
答案 1 :(得分:1)
您不能在开头添加!
来反转条件。您需要首先将整个表达式包装在一组括号中。
如果你有:
if (a && b) {
然后反转是:
if (!(a && b)) {
你没有添加这些括号。