vlambda博客
学习文章列表

小笔记 - Swift 有啥新东西

中午午休的时候,把 SE-10170 What's new in Swift 这个 Session 大概过了一遍,也是为了要写一年一度的社区脱水文。

大概评价一下这个 Session:

  • 有一些优化,但是没有比较大的亮点;
  • 感觉有 一半左右的内容都在拥抱 SwiftUI,需要学习了;
  • 语法改动越来越小,Swift 趋于稳定, 没有学并且想继续从事于 iOS 开发的朋友要开始学了,而且据我所知很多大厂都已经开始逐步迁移 Swift,虽然这个过程极为痛苦;
  • Swift 将会被 Apple 继续广度发展,目前 Libraries 涉及:命令行、科学计算等领域;

Session Key Map

随便说两点

优化有待验证

比如说堆内存使用情况,虽然晒出了 Swift 5.3 优化成功,但是由于没有 Code 和实验,并无法确定真正的优化效果。我相信真实,但是我也怀疑场景。

小笔记 - Swift 有啥新东西

再说 Xcode 补全效率的时候,请注意以下原文措辞:

Besides the quality of completion results, code completion performance has drastically improved in some cases up to 15 times speed improvement compared to Xcode 11.5.

是的,是 in some cases,所以还是难以令人信服。至少当前 Beta 版本的 Xcode 11.5 依旧很差劲。

小笔记 - Swift 有啥新东西

看图快速学习几个 Swift 新特性

SE-0279: Multiple Trailing Closures(多尾部闭包)

就是方法内多个闭包的语法糖,看图即会:

小笔记 - Swift 有啥新东西

SE-0249: Key Path Expressions as Functions

可以用 Key Path 来代替闭包,获取成员属性。

小笔记 - Swift 有啥新东西

SE-0276: Multi-Pattern Catch Clauses(多匹配捕获)

可以用 , 来分隔多个类型,不用再去写 switch...case.. 语句。

小笔记 - Swift 有啥新东西

Enum Enhancements

遵循了 Comparable 协议,就可以用不等号来判断枚举范围。


关于这个 Session 的学习体验就说这么多吧,后面会撰写具体的 Session 脱水文,也欢迎大家持续关注。那篇文章将会在几个 iOS 开源组织联合发布的 WWDC 2020 脱水文里放出。


喜欢就点个在看再走吧