在Swift中,通过assert实现断言,assert可以帮助开发者比较容易的发现和定位错误。
一个断言断定条件是true.通过声明一个断言来确保某个必要的条件是满足的,以便继续执行接下来的代码。如果条件满足了,那么代码像往常一样执行,如果不满足了,代码就停止执行了,应用也随之停下来了。
例:
let number = 3
//第一个参数为判断条件,第二个参数为条件"不满足"时的打印信息。
assert(number > 3, "number 不大于3")
如果断言被触发(number <= 3时),将会强制结束程序,并打印相关信息:
assertion failed: number 不大于3: file/Users/mac/Desktop/test/test/ViewController.swift, line 17
注意点:
断言可以引发程序终止,并不是被设计用来避免不在发生无效情况的。在那些无效条件有可能触发的情况下,断言是一种有效的调试手段,可以确保在应用发布之前,在开发过程中就可以关注这些条件。
使用场景:
在条件有可能为false的情况,但是只有在true的情况下才可以继续运行代码,使用断言。比如下面的情况:
自定义整型下标传给自定义索引实现的参数时,下标表达式的值有可能太大或者太小
向函数传值的时候,一个无效值意味着函数不能完成相应的任务
一个Optional类型目前为nil,但是必须要有一个非nil值以便接下来的代码可以成功的执行