Swift 4.2 以及 Xcode 10 部分更新内容介绍
本文最后更新于 2021年4月4日 晚上
这里来讲讲 Swift 4.2 中都更新了哪些内容, 参考的原文链接在这里.
Swift 4.2 中的更新内容部分介绍
下面是 Swift 4.2 中的更新内容部分介绍, 主要是抽取目前开发过程中经常会使用到的讲, 完整内容请访问这个链接.
- 现在可以对
weak
的self
使用可选绑定了, 比如在闭包中使用[weak self]
进行了声明, 则可以这样:
1 |
|
而无需像以前那样再去取一个 strongSelf
之类的名字了.
新增一个
#warning
预处理指令, 实现类似// TODO:
的效果, 这样无需额外脚本就可以显示警告信息了.对
enum
类型新增了一个CaseIterable
协议, 所有的enum
默认都实现了这个协议, 其作用是将enum
中所有的case
都列出来:
1 |
|
- 新增了若干随机数生成方法, 以替代之前使用的
arc4random_uniform
(实际上是一种统一的随机 API, 详见这个文档):
1 |
|
- 针对泛型的优化升级, 现在可以像下面这样写泛型扩展时候的条件了:
1 |
|
- 在标准库的集合类型上新增按条件来
removeAll
的方法:
1 |
|
- 在标准库的集合类型上新增
allSatisfy
方法, 以判断某个集合的所有元素是否都满足给定条件:
1 |
|
另外对 Hashable 做了许多改进, 详见这个链接.
在集合类型上新增如下方法:
1 |
|
- 在布尔类型上新增
toggle
方法, 方法实现如下所示, 功能就是对布尔值进行开关:
1 |
|
Swift 4.2 上, 语言的 ABI 稳定又进了一步.
新增针对编译器版本的预处理指令:
1 |
|
Xcode 10 更新内容部分介绍
代码折叠终于回来了…普天同庆
在 Debug 模式下, 增量编译现在是默认选项了(在 Compilation Mode 设置中).
单元测试的性能得到了提升.
其他的待探索…
Swift 4.2 以及 Xcode 10 部分更新内容介绍
https://blog.rayy.top/2018/09/21/2019-swift4-2Language/