Swift学习笔记(1):断言(Assertions)
2015-12-22 15:24
344 查看
断言(Assertions)
Optionals使得我们可以检测值是否存在。在某些情况下,如果某个值不存在或者没有提供特定的满足条件,代码不应该继续往下执行。
在这些情况下,可以使用触发断言来终止执行并提供调试。
断言是在运行时检测条件是否为true,如果为true,就继续往下执行,否则就在这里中断。
断言对应的关键字是assert
如:
什么时候使用断言呢?
包含下面的情况时使用断言:
1、整型下标索引作为值传给自定义索引实现的参数时,但下标索引值不能太低也不能太高时,使用断言
2、传值给函数但如果这个传过来的值无效时,函数就不能完成功能时,使用断言。
3、Optional值当前为nil,但是后面的代码成功执行的条件是要求这个值不能为nil,使用断言
Optionals使得我们可以检测值是否存在。在某些情况下,如果某个值不存在或者没有提供特定的满足条件,代码不应该继续往下执行。
在这些情况下,可以使用触发断言来终止执行并提供调试。
断言是在运行时检测条件是否为true,如果为true,就继续往下执行,否则就在这里中断。
断言对应的关键字是assert
如:
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")
什么时候使用断言呢?
包含下面的情况时使用断言:
1、整型下标索引作为值传给自定义索引实现的参数时,但下标索引值不能太低也不能太高时,使用断言
2、传值给函数但如果这个传过来的值无效时,函数就不能完成功能时,使用断言。
3、Optional值当前为nil,但是后面的代码成功执行的条件是要求这个值不能为nil,使用断言
相关文章推荐
- Swift的初始化方法
- swift学习日志——可变参数
- Swift中元组(Tuples),结构体(Struct),枚举(Enums)之间的区别
- AFNetwork swift版Alamofire使用问题集锦
- Swift静态属性
- swift 2
- swift 学习记录(静态方法)
- swift学习日志——输入输出参数
- Ubuntu14.04安装swift2.2
- 利用Swift之协议语法实现页面间的传值功能
- dyld: Library not loaded: @rpath/libswiftCore.dylib报错解决
- swift 学习记录(实例方法)
- 窥探Swift之协议(Protocol)和委托代理(Delegate)回调的使用
- Swift 函数(笔记)
- swift-基础08-隐式解析,隐式装包,强制装包和断言
- swift-基础07-if语句,强制解析与可选绑定和nil
- Swift 命名规则
- Swift 数据类型
- iOS --- Swift中泛型(Generic)的基本使用
- iOS集成丁香园DXY OAuth 登陆 swift代码示例