強制解析使用驚嘆號來強制讀取可選型別中的值。如果可選型別有值,那麼強制解析會成功,如果值是 nil,則會觸發運行時則會報錯。
範例:
var x: Int? = 10
print(x!) // 輸出 10
如果值為 nil,例如:
var x: Int? = nil
print(x!) // 報錯
可選綁定
可選綁定是一個安全的方法,讓你在確保變數不是 nil 的情況下不會報錯
以下有幾種解決方案
var x: Int? = nil
let isx = x ?? "nil"
print(isx) // 輸出nil
一定要函式內使用的使用guard:
var x: Int? = 0
guard let isx = x else {
print("x is nil") //在沒有值時print訊息
return 0
}
print(isx) // 安全解開
強制解析是一種簡便但危險的方式,如果可選型別為 nil,程式會崩潰。在開發過程中,最好避免直接使用強制解析,使用安全的方法來安全地處理 nil。