Swift之:断言(Assertions)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift之:断言(Assertions)相关的知识,希望对你有一定的参考价值。

断言(Assertions)

Optionals使得我们可以检测值是否存在。在某些情况下,如果某个值不存在或者没有提供特定的满足条件,代码不应该继续往下执行。

在这些情况下,可以使用触发断言来终止执行并提供调试。

断言是在运行时检测条件是否为true,如果为true,就继续往下执行,否则就在这里中断。

断言对应的关键字是assert

如:

 
  1. let age = 18  
  2. // 这里age >= 18表示式的结果是true,所以这里断言什么也不做,代码继续往下执行  
  3. assert(age >= 18, "A person‘a age cannot be less than eighteen")  
  4. // 这里由于 age >= 22表达式的结果是false,所以这里就会出现中断,打印出  
  5. // ""A person‘s age cannot be less than 22"  
  6. assert(age > 22, "A person‘s age cannot be less than 22")  


什么时候使用断言呢?

 

包含下面的情况时使用断言:

1、整型下标索引作为值传给自定义索引实现的参数时,但下标索引值不能太低也不能太高时,使用断言

2、传值给函数但如果这个传过来的值无效时,函数就不能完成功能时,使用断言。

3、Optional值当前为nil,但是后面的代码成功执行的条件是要求这个值不能为nil,使用断言

以上是关于Swift之:断言(Assertions)的主要内容,如果未能解决你的问题,请参考以下文章

SV -- Assertions 断言

012 断言(Assertions)

18 19 20 py if语句 比较运算符 断言assertions

正则表达式中的断言(assertions)

正则表达式断言(Assertions)

如果使用 Fluent Assertions 的顺序不同,如何断言两个列表不等价