2015-05-29 132 views
0

我在SWIFT新的基於iOS開發者庫,我發現這個條件語句代碼:如何正確寫入條件語句?

if *condition 1* { 
    *statements to execute if condition 1 is true* 
} else if *condition 2* { 
    *statements to execute if condition 2 is true* 
} else { 
    *statements to execute if both conditions are false* 
} 

但我想是這樣的:

if *condition 1* { 
    *statements to execute if condition 1 is true* 
} else { 
    *statements to execute if condition 1 is false* 
} 
if *condition 2* { 
    *statements to execute if condition 2 is true* 
} else { 
    *statements to execute if condition 2 is false* 
} 
if *condition 3* { 
    *statements to execute if condition 3 is true* 
} else { 
    *statements to execute if condition 3 is false* 
} 
if *condition 4* { 
    *statements to execute if condition 4 is true* 
} else { 
    *statements to execute if condition 4 is false* 
} 

有沒有什麼解決方案,作出正確的如果我的問題聽起來很愚蠢,我很抱歉?

+4

你的第二個代碼塊應完全按照您寫的,問題出在哪裏:

最簡單的形式,一個switch語句對同一類型的一個 或多個值的值進行比較? –

回答

0

更新

我把我的建議了。我誤解了這個問題。沒有看到每種情況都有其他聲明。我的錯。

原來的答案

這取決於條件的複雜性,但通常可以使用switch語句來檢查多個條件。

從蘋果公司的docs

雨燕提供了兩種條件分支添加到您的代碼, 稱爲if語句和switch語句。通常情況下,您使用if語句來評估簡單條件,只有幾個 可能的結果。 switch語句更適合於具有多種可能排列的複雜條件的更多 ,在模式匹配有助於選擇合適的 代碼分支以執行的情況下,該語句非常有用。

switch語句會考慮一個值並將其與幾個可能的匹配模式進行比較。然後根據成功匹配的第一個模式執行適當的代碼塊 。開關 語句提供if語句的替代方法,用於響應 多個潛在狀態。

switch some value to consider { 
case value1: 
    //respond to value 1 
case value2, 
value3: 
    //respond to value 2 or 3 
default: 
    //otherwise, do something else 
} 
+1

對於用戶的要求,switch語句並不是很好。它需要一個布爾值大的元組...... – nhgrif

+0

@nhgrif問題是關於一般「條件」。這就是爲什麼我說它很大程度上取決於條件本身。沒有普遍的好方法。但我非常確定switch語句是爲了處理多個條件而設計的,因爲如果是多個條件,可以更容易地讀取其他多個條件。 – NKorotkov

+0

@ nhgrif剛剛意識到我誤解了這個問題。我道歉。 – NKorotkov