iT邦幫忙

2024 iThome 鐵人賽

DAY 3
0
Mobile Development

IOS的打怪升級之路系列 第 3

鐵人賽第三天 nil的強制解析

  • 分享至 

  • xImage
  •  

說明

強制解析使用驚嘆號來強制讀取可選型別中的值。如果可選型別有值,那麼強制解析會成功,如果值是 nil,則會觸發運行時則會報錯。
範例:

var x: Int? = 10
print(x!)  // 輸出 10

如果值為 nil,例如:

var x: Int? = nil
print(x!)  // 報錯

解決方案

可選綁定
可選綁定是一個安全的方法,讓你在確保變數不是 nil 的情況下不會報錯
以下有幾種解決方案

使用 ?? 在出現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。


上一篇
鐵人賽第二天 swift的nil情形
下一篇
鐵人賽第四天 for迴圈的使用
系列文
IOS的打怪升級之路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言