尽管可以用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值。
- 注意:断言可能导致你的应用终止运行,所以你应当仔细设计你的代码来让非法条件不会出现。然而,在你的应用发布之前,有时候非法条件可能出现,这时使用断言可以快速发现问题。