在我的节目,我有一系列的if-else语句看起来像这样:if-else语句没有执行?
if ((int)([currentTouch locationInView:self].y/16)<[player y]-1) {
direction = 1;
}
else if ((int)([currentTouch locationInView:self].y/16)>=[player y]-1 && (int)([currentTouch locationInView:self].y/16)<=[player y]+1) {
direction = 0;
}
else if ((int)([currentTouch locationInView:self].y/16)>([player y]+1)) {
direction = -1;
}
尽我所知,这些应该是只有三种选择,却没有一个人被评估为真。我在运行时设置了一个断点,并比较了两个值,第一个大于第二个。然而,第三个if语句被忽略,就好像它是假的。我感觉我好像错过了一些显而易见的事情。有任何想法吗?
与您的问题无关,但您应该只调用一次这些方法,并将结果存储在局部变量中以进行比较。 – Thilo
您检查您尝试的条件是否属实。 – rptwsthi