• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

赵雅智_Swift(4)_断言

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

可选能够让你推断值是否存在。你能够在代码中优雅地处理值缺失的情况。然而,在某些情况下,假设值缺失或者值并不满足特定的条件。你的代码可能并不须要继续执行。这时。你能够在你的代码中触发一个断言(assertion)来结束代码执行并通过调试来找到值缺失的原因

 使用断言进行调试

断言会在执行时推断一个逻辑条件是否为true。从字面意思来说,断言“断言”一个条件是否为真。你能够使用断言来保证在执行其它代码之前。某些重要的条件已经被满足

假设条件推断为true。代码执行会继续进行;假设条件推断为false。代码执行停止,你的应用被终止。

假设你的代码在调试环境下触发了一个断言,比方你在 Xcode 中构建并执行一个应用,你能够清楚地看到不合法的状态发生在哪里并检查断言被触发时你的应用的状态。

此外。断言同意你附加一条调试信息。


你能够使用全局assert函数来写一个断言。

向assert函数传入一个结果为true或者false的表达式以及一条信息,当表达式为false的时候这条信息会被显示:

let age = -3 
assert(age >= 0, "A person's age cannot be less than zero") 
// 由于 age < 0。所以断言会触发 

在这个样例中,仅仅有age >= 0为true的时候代码执行才会继续。也就是说。当age的值非负的时候。假设age的值是负数。就像代码中那样,age >= 0为false。断言被触发。结束应用。

 

断言信息不能使用字符串插值。断言信息能够省略,就像这样:

assert(age >= 0) 

 

何时使用断言

当条件可能为假时使用断言,可是终于一定要保证条件为真,这样你的代码才干继续执行。断言的适用情景:

  • 整数的附属脚本索引被传入一个自己定义附属脚本实现。可是下标索引值可能太小或者太大。
  • 须要给函数传入一个值。可是非法的值可能导致函数不能正常执行。

  • 一个可选值如今是nil,可是后面的代码执行须要一个非nil值。

參考附属脚本和函数

 

注意:断言可能导致你的应用终止执行。所以你应当细致设计你的代码来让非法条件不会出现。

然而。在你的应用公布之前,有时候非法条件可能出现,这时使用断言能够高速发现问题。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap