儘管可以用optional來檢查值存不存在,有時候在代碼中,是需要一個值,或者能滿足的值,程序才能運行,這時候需要assert來對程序進行調試,如:
let 年齡 = 100
assert(年齡 >= 18, "A person's age cannot be less than 18")
assert(年齡 >= 0, "年齡必須是大於0的值")
這裏有一個情況,加入我的年齡爲小於18的一個數,那麼程序就不能運行,不能滿足斷言的條件,會導致錯誤,只有年齡大於18以後,滿足斷言條件,才能運行
運用斷言的情況:
1.整數類型的下標索引被傳入一個自定義下標實現,但是下標索引值可能太小或者太大。
2.需要給函數傳入一個值,但是非法的值可能導致函數不能正常執行。
3.一個可選值現在是nil,但是後面的代碼運行需要一個非nil值。
- 注意:斷言可能導致你的應用終止運行,所以你應當仔細設計你的代碼來讓非法條件不會出現。然而,在你的應用發佈之前,有時候非法條件可能出現,這時使用斷言可以快速發現問題。