温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

第九节 断言(Assertions) 主标签

发布时间:2020-06-26 00:49:21 来源:网络 阅读:208 作者:habout632 栏目:移动开发

本文来自于疯子们的开源图书


可选使得你能够检查值存在或者不存在,这使得你能够很优雅的处理值缺失的情况。在某些情况下, 如果某个变量的值不存在的话,亦或者提供的值不能满足某个条件的时候,你就不能简简单单的让你的代码继续执行了。在这些情况下,你可以在代码中触发一个断言,这样你就有机会调试一下代码,看看什么原因导致值是缺失的或者是无效的。

使用断言进行调试

断言其实就是一个运行时的检查机制,判断一下逻辑条件是不是为true.字面上的意思就是,一个断言断定条件是true.通过声明一个断言来确保某个必要的条件是满足的,以便继续执行接下来的代码。如果条件满足了,那么代码像往常一样执行,如果不满足了,代码就停止执行了,应用也随之停下来了。

在某些调试环境下,比方说在Xcode当中构建,运行一个应用的时候,如果你的代码触发了断言的话,你就可以准确的知道应用在哪里出了问题,看看触发断言时,应用当时的状态是怎样。在断言当中也可以提供一个适当的调试信息,就像断言这个词本身的含义一样。

可以使用全局函数assert来声明一个断言。向assert函数传递一个条件表达式,如果表达式为false,可以打印一段信息。

第九节 断言(Assertions)  主标签

在这个例子当中,当且仅当age >= 0true的时候,也就是age为非负的情况下,代码才会继续执行。如果age为负的情况,就像上面一样,那么age >= 0就是false,断言就会被触发,应用终止。

断言信息中再不能包括字符串操作了。断言信息也可以省略,就像下面这样:

第九节 断言(Assertions)  主标签

什么时候使用断言

在条件有可能为false的情况,当然也必须能够为true以便于代码可以继续执行的时候,使用断言。可以在下面这些适当的情况中使用断言:

  • 自定义整型下标的时候,下标表达式的值有可能太大或者太小

  • 向函数传值的时候,一个无效值意味着函数不能完成相应的任务

  • 一个可选目前为nil,但是必须要有一个非nil值以便接下来的代码可以成功的执行

参考下标函数一章

注意:

断言可以引发程序终止,但是并不是被设计用来避免不在发生无效情况的。不过,在那些无效条件有可能触发的情况下,断言是一种 有效的手段,可以确保在应用发布之前,在开发过程中就可以关注这些条件。

第八节 可选(Optionals)类型向上第三章 基本的操作符


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI