Swift断言
来源:互联网 发布:mysql php apache集成 编辑:程序博客网 时间:2024/06/05 13:23
Swift为我们提供了一系列的assert方法来使用断言,其中最常用的一个是:
func assert(@autoclosure condition: () -> Bool,
_ message: StaticString = default,
file:StaticString = default,
line: UWord = default)
- let age = 18
- // 这里age >= 18表示式的结果是true,所以这里断言什么也不做,代码继续往下执行
- assert(age >= 18, "A person'a age cannot be less than eighteen")
- // 这里由于 age >= 22表达式的结果是false,所以这里就会出现中断,打印出
- // ""A person's age cannot be less than 22"
- assert(age > 22, "A person's age cannot be less than 22")
//断言,如果条件不成立,抛出异常并打印信息assert(intValue < 0, "intValue小于0", file: "iOS_Playground", line: 10)assert(intValue < 0, "intValue小于0...")
什么时候使用断言呢?
包含下面的情况时使用断言:
1、整型下标索引作为值传给自定义索引实现的参数时,但下标索引值不能太低也不能太高时,使用断言
2、传值给函数但如果这个传过来的值无效时,函数就不能完成功能时,使用断言。
3、Optional值当前为nil,但是后面的代码成功执行的条件是要求这个值不能为nil,使用断言
断言的一个优点就是他是一个开发时的特性,只有在Debug编译时候有效,而在运行时是不被编译执行,因此断言并不会降低运行时的性能。
但有时我们可能出于某些目的的希望断言在调试开发时也停止工作,或者在发布版本中野继续有效。我们可以通过显示的填加编译标记达到这个目的。在对应target的Build Settings中,我们在Swift Compiler-Custom Flags中的Other Swift Flags中添加-assert-config Debug来强制启用断言,或者用-assert-config Release来强制禁用断言。
0 0
- Swift断言
- Swift 断言
- Swift断言的使用
- Swift学习:5.断言
- swift 断言(assert)
- swift 初级 断言
- Swift中的断言assert
- Swift可选绑定、断言
- swift的断言
- swift 断言调试
- Swift 断言 assert
- 第九节swift 断言(Assertions)
- 【swift】15-0515 optional,断言
- Swift学习之八:断言(Assertions)
- Swift学习之八:断言(Assertions)
- swift学习——关于断言
- 【iOS】Swift中的函数、断言、枚举等
- Swift Assertion断言/类型别名/类型转换
- Spark开发环境配置(windows/Intellij IDEA 篇)
- NJUST校赛D题
- 实用的 Python —— 进制(二进制形式中 1 的位数)
- Swift的常用全局函数介绍
- 复杂网络社区结构发现算法-基于igraph C library
- Swift断言
- 复杂网络社区结构发现算法-基于python networkx clique渗透算法
- 解决mysql乱码问题
- 复杂网络社区结构发现算法-基于igraph 标签传播算法
- Deep Learning简介
- LCD如何显示图像1~2
- 密码脱落
- Matlab,Mathematica,Python中实现截断坐标轴效果的绘图
- 复杂网络节点重要性评价方法的对比-基于igraph C library