Precondition
precondition 和 assert 的格式类似,也是动态的,precondition 会造成程序的提前终止并抛出错误信息.
Precondition在一般的代码中并不多见,因为它是动态的,只会在程序运行时进行检查,适用于哪些无法在编译期间确定的风险情况。
- 如果出现了诸如数据错误的情况,Precondition会提前终止程序,避免因数据错误造成更多的损失。
- 如果条件判断为True ,代码运行会继续进行。
- 如果条件判断为false,程序将终止。
- assert是单纯地触发断言即停止程序,不会让你有机会将可能出错的设计走过它那一关。
Precondition的定义
- 标准的断言格式
precondition(condition: Bool, message: String)
condition 判断条件,message 自定义调试信息,断言的调试信息参数是可选的
- 定义
public func precondition(_ condition: @autoclosure () -> Bool