加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

2015年2月到2015年6月8日(2.0发布)Swift主要更新

发布时间:2020-12-14 04:23:58 所属栏目:百科 来源:网络整理
导读:说明:限于《语言指引》部分的主要更新 操作符 移除了溢出除、溢出取余操作符 集合 集合类Set(添加) Set中存放不能重复的元素,无序。存放的元素需要遵循hashable协议。 控制流 添加新的控制语句:guard guard语句做尝试操作,它的else分支用来处理意外情

说明:限于《语言指引》部分的主要更新

操作符

移除了溢出除、溢出取余操作符

集合

集合类Set(添加)

Set中存放不能重复的元素,无序。存放的元素需要遵循hashable协议。

控制流

添加新的控制语句:guard

guard语句做尝试操作,它的else分支用来处理意外情况。

添加API可用检查语句 #available

可以用来针对不同的操作系统作分支

修改do-while为repeat-while

错误处理(添加)

添加章节

如何表示错误

用一个遵循ErrorType协议的枚举表示各种可能的错误

抛出错误

throw关键字放在函数/方法/闭包的参数之后,返回类型的箭头前。没有用throw关键字,不能抛出错误。
调用一个抛出错误的函数/方法/闭包,前面要用try。

捕获和处理错误

do-catch格式:
do {

try function that throws

    statements

  } catch pattern {

    statements

}

尽量确保能捕获所有错误。
catch不指定匹配模式将匹配所有错误。

阻止错误传播

try!(强制try)调用,不必处理错误。如有错误发生,会导致运行时错误。

指定清理行为

控制权交接前始终会执行的代码:defer语句,类似java中的finally。
多个defer语句按照定义顺序倒叙执行。

协议

协议可以扩展了(添加)

协议扩展给协议实现类型添加方法和属性,也可以添加协议要求的默认实现,但以类型的实现为优先。

扩展协议可以加条件(添加)

协议扩展可以添加条件,使用where从句限制对哪些特定的实现类型才进行扩展

当一个协议实现满足多个扩展条件(添加)

一个协议实现满足多项扩展条件,如何选取??

访问控制

单元测试中的访问控制(添加)

单元测试目标的访问控制。使用@testable对测试开放,具体咋用?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读