断言
断言是一种实时检测条件是否为true的方法
如果条件为true,那么代码继续执行
如果条件为false,就抛出错误信息,直接终止程序的运行
断言的用法
使用全局的assert函数
passert函数接收一个Bool表达式和一个断言失败时显示的消息
assert(index >= 0, "index必须大于0")
如果index大于等于0,就继续执行后面的代码
如果index小于0,就抛出错误信息(下面的黑色字),直接终止程序的运行
assertion failed: index必须大于0
assert(index >= 0)
可以省略错误信息,但不推荐,这样不利于调试
断言的使用场景和使用注意
下面的场景,可能用到断言
有一个整型值作为数组的索引,这个值可能太小或者太大,从而造成数组越界
当传递给函数的参数是一个无效的参数时,将不能在该函数中执行
当一个可选类型需要是非nil时,才能够继续运行
断言的使用注意
断言会导致程序运行的中止,如果不管条件是否成立,都要继续往下执行代码,那就不能用断言
断言可以保证错误在开发过程中会被及时发现,但发布的应用里最好不要使用
如果一个程序用着用着就突然崩溃闪退,会严重影响用户体验