请选择 进入手机版 | 继续访问电脑版
搜索
房产
装修
汽车
婚嫁
健康
理财
旅游
美食
跳蚤
二手房
租房
招聘
二手车
教育
茶座
我要买房
买东西
装修家居
交友
职场
生活
网购
亲子
情感
龙城车友
找美食
谈婚论嫁
美女
兴趣
八卦
宠物
手机

「开源资讯」Swift 5.3稳定版发布,性能改进和增加体验白龙王简介

[复制链接]
查看: 33|回复: 0

3万

主题

4万

帖子

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105177
发表于 2020-9-24 09:35 | 显示全部楼层 |阅读模式
Swift 5.3 稳固版已于上周正式发布,此版本继承专注于语言改进、提升开发者体验以及扩展 Swift 生态体系,以让 Swift 实用于更多场景。Amy Tsai 手绘的素描条记先容了 Swift 5.3 紧张新特性:


语言和尺度库

新特性和改进

Swift 5.3 带来了很多语言方面的改进,从而改善了编写 Swift 代码的体验。这些更新通过淘汰样板代码和冗余代码,并在大概利用的库中界说更多功能来资助开发者成为更有生产力的 Swift 步伐员。
Swift Evolution 流程中的提案在 Swift 5.3 中得以实现:

  • SE-0263 - Add a String Initializer with Access to Uninitialized Storage
  • SE-0266 - Synthesized Comparable conformance for enum types
  • SE-0267 - where clauses on contextually generic declarations
  • SE-0268 - Refine didSet Semantics
  • SE-0269 - Increase availability of implicit self in @escaping closures when reference cycles are unlikely to occur
  • SE-0276 - Multi-Pattern Catch Clauses
  • SE-0277 - Float16
  • SE-0279 - Multiple Trailing Closures
  • SE-0280 - Enum cases as protocol witnesses
  • SE-0281 - @main: Type-Based Program Entry Points
  • SE-0282 - Clarify the Swift memory consistency model
  • SE-0285 - Ease the transition to concise magic file strings
  • SE-0286 - Forward-scan matching for trailing closures
Swift 5.3 还修复了几个编译器限定的标题:

  • SR-75 - Unapplied references to protocol requirements are now supported
  • SR-7083 - lazy properties can define didSet and willSet accessors
  • SR-8814 - Generic classes can use default implementations of protocol requirements when conforming to protocols with associated types
改进 runtime 性能

Swift 5.3 显着改善了二进制代码巨细和 runtime 内存利用情况,这些改进也在多个项目中得到了验证:

  • 从 Swift 4 开始,Apple 的 Swift 团队不停通过 iOS 附带的 UIKit 应用(用 Objective-C 编写)来丈量 Swift 重写的二进制代码巨细。Swift 4 的代码量约为 Objective-C 版本的 2.3 倍,到了 Swift 5.3 降落到 1.5 倍以下
  • 基于 SwiftUI 的开源应用 MovieSwiftUI,与 Swift 5.1 相比,利用 Swift 5.3 重写的应用逻辑代码量淘汰了 40% 以上
  • 在创建包罗 400 个模子对象的数组的测试应用步伐中,由于 runtime 开销而导致的堆内存比 Swift 5.1中利用的堆内存少 2/3
开发体验

改进编辑代码时的缩进结果

此版本全面修订了 SourceKit 中的自动缩进实现,在此过程中修复了约 50 个反馈陈诉。特别是以下情况的自动缩进得到了很大改进:

  • 涉及闭包的链式方法调用
  • 调用超过多行的参数和聚集元素
  • 多行的if,guard和while条件
代码补全


  • 与 Swift 5.2 相比,如今在函数体内重复实行代码补全调用的速率提升了 15 倍。这是通过在同一文件中重用先前完成的一些盘算来实现的。这些优化将在 Xcode 和 SourceKit-LSP 中均可用
  • Swift 代码补全如今支持用户界说的 nominal 范例的可调用值 (SE-0253)。代码补全体现了在根本表达式后加上圆括号后的调用署名
优化构建时间

Swift 5.3 进一步优化了代码补全性能和质量:

  • 通过克制跨源文件的重复编译工作,并更正确地标识与从前的构建相比未更改的代码,从而紧缩增量构建时间
  • 通过修复编译器的活动对声明序次或嵌套敏感的多种情况,进步了精确性
  • 利用从另一个库导入的具有大量属性和函数的范例的代码,可以更快地举行编译
别的另有关于调试、Swift 包管理以及编译器诊断方面的更新,详情检察 发布公告。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

技术支持:迪恩网络科技公司  Powered by Discuz! X3.2
快速回复 返回顶部 返回列表