-1
在以下代碼中,您是否曾使用分配給tempName
的值?換句話說,tempName
除Optional Binding
之外是否還有其他用途。您是否曾經使用if let語句中指定的值
var name:String?
name = "Nathan"
if let tempName = name{
print("It's not nil, it has a value")
print(tempName) // Nathan - Would you ever use this value
print(name!) // Nathan
}else{
print("It's nil, no value has been set")
}
感謝
如果你只是想檢查值是否是'nil',那麼可選的結合是沒有意義的,因爲你不需要綁定* *做。你可以使用普通的'name!= nil'或'if let _ = name {'。對剛剛綁定的變量使用'!'看起來像一個錯誤,因爲可選綁定應該避免'!'。 – Sulthan
*可選綁定*的全部要點是安全地創建一個展開的變量,然後您可以自由使用而不必擔心再次展開!正如@Sulthan所說,如果你只是檢查它是否爲'nil',那麼檢查'nil'或者將它分配給'_'。所以是的,絕對的,在* optional binding *之後有一個用於變量的用法。 – vacawama
我想我的問題是不明白'可選綁定'是什麼,我認爲主要用於'如果讓'它是爲了檢查'nil'這肯定不是這樣,我的壞。謝謝@Sulthan和@ vacawama - 指出這一點,現在有道理。 –