989
技術社區[雲棲]
Swift學習之八:斷言(Assertions)
斷言(Assertions)
Optionals使得我們可以檢測值是否存在。在某些情況下,如果某個值不存在或者沒有提供特定的滿足條件,代碼不應該繼續往下執行。
在這些情況下,可以使用觸發斷言來終止執行並提供調試。
斷言是在運行時檢測條件是否為true,如果為true,就繼續往下執行,否則就在這裏中斷。
斷言對應的關鍵字是assert
如:
let age = 18 // 這裏age >= 18表示式的結果是true,所以這裏斷言什麼也不做,代碼繼續往下執行 assert(age >= 18, "A person'a age cannot be less than eighteen") // 這裏由於 age >= 22表達式的結果是false,所以這裏就會出現中斷,打印出 // ""A person's age cannot be less than 22" assert(age > 22, "A person's age cannot be less than 22")
什麼時候使用斷言呢?
包含下麵的情況時使用斷言:
1、整型下標索引作為值傳給自定義索引實現的參數時,但下標索引值不能太低也不能太高時,使用斷言
2、傳值給函數但如果這個傳過來的值無效時,函數就不能完成功能時,使用斷言。
3、Optional值當前為nil,但是後麵的代碼成功執行的條件是要求這個值不能為nil,使用斷言
最後更新:2017-04-03 07:57:23