2016-10-23 91 views
2

我想知道的是有差=零

if let error = error{} VS if error != nil之間大的差異?或者,人們是如何不同的,比如他們如何用代碼表達自己?

例如,如果我把這個代碼:

user?.delete { error in 
    if let error = error { 
    print(error)       
} else { 

} 

因爲我可以做同樣的這樣和輸出是一樣的:

user?.delete { error in 
    if error != nil { 
    print(error) 
}else{ 

} 

唯一的區別我可以看到除「人們是不同的「是,如果我不打印錯誤,最好使用if error != nil,否則它會聲明你不使用的變量。我對嗎?

+1

我只是同意你的看法, '。如果我只是想檢查它是否不爲零並且不需要錯誤變量,那麼我只會使用'if error!= nil'。但它只是一個意見,而不是一個完美的答案 – ronatory

+1

同意@ronatory,你已經有了你的答案。如果您需要使用它,請打開該值,否則僅比較爲零。你也可以做'如果讓_ =錯誤'這與'如果錯誤!=無'相同,但我個人更喜歡後者。 – Moritz

+0

太棒了。也許添加爲答案,所以我可以勾選它:) –

回答

2

正如您在問題結束時已經認識到的那樣,我會同意您的意見,如果我想使用錯誤變量將其打印出來,我會使用if let。如果我只是檢查它是否不爲零,並且不需要錯誤變量,那麼我會使用if error != nil。你也可以做if let _ = error,這與if error != nil相同Eric Aya在你的問題的意見中提到