2015-10-29 43 views
-2

當我創建不正確的屬性,並把爲什麼具有兩個操作數的語句需要在具有一個操作數的語句之上才能正確輸出?

else if username != "tigerclaw" && password != "888love" { 
print("Re-enter username and password") 
} 

在我的塊的Xcode的底部不會打印出「重新輸入用戶名和密碼」時輸入不正確。

是否因爲具有相同數量操作數的語句需要一個接一個?因爲這有效。

let username: String = "2igerclaw" 
let password: String = "x88love" 

if username == "tigerclaw" && password == "888love" { 
print("Acess Granted") 

} else if username != "tigerclaw" && password != "888love" { 
print("Re-enter username and password") 


} else if username != "tigerclaw" { 
print("Re-enter username") 

} else if password != "888love" { 
print("Re-enter password") 

} 
+0

「在我的塊的底部」 - 張貼整個塊,不要讓我們猜測。 –

+0

這是我的區塊。這就是全部。我的區塊底部就是這樣。感謝downvote。 – TokyoToo

+0

如果它以'else'開始,它不是全部。沒問題,但是,如果你不需要幫助,你不需要清楚你的問題。 –

回答

2

您正在使用else if來連接所有這些語句。當您使用else語法時,只有先前條件未評估爲true時纔會檢查條件。例如:

if (true) { 
    // This code will execute because true is, well true. 
} else (true) { 
    // This code WILL NOT execute, because the else statement will never be checked because we fell inside the first conditional. 
} 

如果您想要同時執行這兩個操作,那麼您需要將這些語句分開。例如:

if (true) { 
    // This will be excuted because true is, well true. 
} 

if (true == true) { 
    // This will also be executed because true is still true and we are not limiting it by the else. 
} 
+0

確定但最初那行是在我的塊的底部,我設置用戶名和密碼變量爲不正確的值,如上所示。所以它應該按照你所說的行事,因爲先前的條件是不正確的。 Xcode應該已經打印出「重新輸入用戶名和密碼」。 – TokyoToo

相關問題