2017-07-14 123 views
2

我使用if/let最近遇到这种类型的场景,并了解它做什么感谢这个post之一。据我的理解,这两个条件需要满足之前的程序块执行。我现在已经走到一个地步,我已经看到了它在常规条件语句:什么是逗号之间的区别分离条件和使用的双重符号

if existingTextHasDecimalSeparator != nil, replacementTextHasDecimalSeparator != nil { 
    return false 
} else { 
    return true 
} 

什么做以上,只需使用&&所看到如下?:

if existingTextHasDecimalSeparator != nil && replacementTextHasDecimalSeparator != nil { 
    return false 
} else { 
    return true 
} 
+0

AFAIK没有实际的区别。与许多地方的情况一样,有多种方式可以做同样的事情。有可能在使用其中一种时发展一些标准。在此之前,你可能只是做你喜欢的事情。 – PeejWeej

回答

1

的之间的区别可选当与布尔条件结合使用逗号,例如if let a = a, a.isValid()&&是一个典型的操作员AND

+2

是的,但在这种情况下,没有可选的绑定。 –

1

似乎没有被使用之间的差用于分组条件和使用逗号。我迄今为止只看到它与可选绑定一起使用,但显然它也适用于常规条件,因为以下代码片段正常工作。

let bool1 = true; 
let bool2 = true; 

if bool1 , bool2 { 
    print("true"); 
} else { 
    print("false") 
} 
相关问题