2017-07-14 126 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") 
} 
相關問題