swift的断言

原创 2016年08月29日 01:09:14

断言(Assertions)

Optionals使得我们可以检测值是否存在。在某些情况下,如果某个值不存在或者没有提供特定的满足条件,代码不应该继续往下执行。

在这些情况下,可以使用触发断言来终止执行并提供调试。

断言是在运行时检测条件是否为true,如果为true,就继续往下执行,否则就在这里中断。

断言对应的关键字是assert

如:

[objc] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. let age = 18  
  2. // 这里age >= 18表示式的结果是true,所以这里断言什么也不做,代码继续往下执行  
  3. assert(age >= 18"A person'a age cannot be less than eighteen")  
  4. // 这里由于 age >= 22表达式的结果是false,所以这里就会出现中断,打印出  
  5. // ""A person's age cannot be less than 22"  
  6. assert(age > 22"A person's age cannot be less than 22")  

什么时候使用断言呢?

包含下面的情况时使用断言:

1、整型下标索引作为值传给自定义索引实现的参数时,但下标索引值不能太低也不能太高时,使用断言

2、传值给函数但如果这个传过来的值无效时,函数就不能完成功能时,使用断言。

3、Optional值当前为nil,但是后面的代码成功执行的条件是要求这个值不能为nil,使用断言

版权声明:本文为博主原创文章,未经博主允许不得转载。

Swift中assert(断言)的使用

在Swift中,assert断言的使用
  • feng2qing
  • feng2qing
  • 2016年04月25日 11:39
  • 2946

Swift学习之八:断言(Assertions)

断言(Assertions) Optionals使用j
  • woaifen3344
  • woaifen3344
  • 2014年06月08日 15:54
  • 4515

Swift入门(四)——可选类型(Optionals)与断言(Assert)

可选类型是什么?首先看一个问题,Swift中String类型的变量有一个叫做toInt的方法,可以把String类型变量转换为Int类型变量。var stringValue = "5" var int...
  • abc649395594
  • abc649395594
  • 2015年07月31日 00:18
  • 2178

Swift断言

Swift为我们提供了一系列的assert方法来使用断言,其中最常用的一个是: func assert(@autoclosure condition: () -> Bool,           ...
  • liangliang2727
  • liangliang2727
  • 2016年04月18日 08:38
  • 252

Swift 断言

断言是一种非常有用的机制,它可以检查代码中的假设部分,确保错误能够被及时发现。今天我将探讨 Swift 中提供的断言调用以及它们的实现,这个话题是由读者 Matthew Young 提出的。 我不会...
  • tozheng
  • tozheng
  • 2017年09月05日 13:59
  • 163

Swift断言的使用

 断言(Assertions)     断言会导致你的程序立即终止,一般来说,只有当你遇到在app发布之前调试的时候遇到必须满足的一些底线条件,才需要断言,方便调试,而且是非常必要的...
  • zhouli_520
  • zhouli_520
  • 2015年03月28日 12:56
  • 265

Swift可选绑定、断言

文/VNSKing(简书作者) 原文链接:http://www.jianshu.com/p/d14608b72088 著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。 ...
  • u013263917
  • u013263917
  • 2016年03月18日 15:42
  • 300

断言是什么?(编程里面的东西)

断言其实是防止程序意外出错的一种宏,如果其参数计算为假,则程序发出警告,且退出。最常见的用法就是在函数入口处保证输入参数的正确性。例如有一个单链表,无头,单向不循环,结点含data,next,现在写一...
  • tzc811201
  • tzc811201
  • 2007年06月15日 22:30
  • 1512

【swift】15-0515 optional,断言

swift中的nil和objective-c里的有些不一样,在objective-c中只有对象才能为nil而在swift中基础类型(整型、浮点、布尔等)没有值时也是nil,而不是一个初始值,没有初始值...
  • u012152749
  • u012152749
  • 2015年05月15日 11:42
  • 198

Swift学习:5.断言

断言 可选类型可以让你判断值是否存在,你可以在代码中优雅地处理值缺失的情况。 使用断言进行调试 let age = -3 assert(age >= 0, "A person's age c...
  • qq_23860911
  • qq_23860911
  • 2015年05月09日 23:45
  • 223
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:swift的断言
举报原因:
原因补充:

(最多只允许输入30个字)