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

前端之家收集整理的这篇文章主要介绍了2015年2月到2015年6月8日(2.0发布)Swift主要更新前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

操作符

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

集合

集合类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对测试开放,具体咋用?

猜你在找的Swift相关文章