2015-05-29 133 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