在我的節目,我有一系列的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