天下网吧消息,Apple Swift 5.7更新了大量的实用功能,那么到底更新了啥呢?来看看新版Apple Swift所有新功能和更新日志。
Apple 的编程语言Swift在 WWDC 2022 上获得了广泛的更新。以下是 iOS 16 和 macOS Ventura 即将推出的最佳功能的汇总。
Swift 开发由 Chris Lattner 于 2010 年开始,并于 2014 年被介绍给 Apple 开发者社区。2015 年 12 月下旬,Apple 发布了 Swift 及其库、包管理器和调试器作为开源软件供公众使用。
从那时起,它一直公开可用,任何希望为开发做出贡献的人都可以这样做。而且,Apple 几乎每年都会增加特性和功能。
iOS 16 中的消息带来的一切新功能!撤消和编辑!
在 2022 年 WWDC 之后,我们选择了添加到该语言中的最重要的功能。以下是 Swift 新功能和互补的 UI 后端 SwiftUI 的详细信息。
主要的编程语言 Swift 收到了许多表面级的生活质量更新。
其中包括用于表示数据类型以帮助处理应用程序运行时工作流的可发送类型,用于提取和动态处理常量和变量形式的值的可选绑定,以及确保与设备可用 API 的最大兼容性的检查器。
现在,应用程序可以分为不同的子部分并同时运行。它们还可以相互发送和接收数据。
不同的子应用程序可能具有被指定为不可移动的数据,因为它涉及或属于活动系统进程,该进程涉及无法中断的大量覆盖。
可发送类型允许开发人员将不同的指定数据标记为“可发送”或“不可发送”,以改进应用工作流程。
可选绑定允许应用程序检查函数中是否存在值以及它是常量还是变量。
该值可以提取到另一个函数、常量或变量中,并使用其他功能,例如实时读取此类值。
由于应用程序部署和安装在具有许多不同软件版本的设备上,因此应用程序编程接口 (API) 的可用性因设备而异。Swift 5.7 中的新功能是应用程序可以检查设备上是否有这样的 API,如果设备上的 API 不可用,开发人员可以设置回退。
它将允许应用程序在更多设备上更好地运行。
今年的 SwiftUI 更新中包含了许多不同的更新,其中 Swift Charts 是新添加的标题。这里提供了三个更新分支:推送式导航堆栈、细节丰富的拆分视图和多窗口应用程序体验。
导航改进包括 Apple Watch 等设备中更丰富的列表。在一个复杂的界面中,包含许多混合开关和视觉预览的不同形式的切换,SwiftUI 现在可以更好地呈现选项,并以更合适的视觉风格对齐界面元素。
API 可以为不同的数据输入类型(例如数字或日期)填充特定的预先设计的界面。它还改进了对数据表及其表示的支持。更新还包括新的拆分视图,它在扩展的正文内容旁边显示列表,例如iPad上的设置应用程序。
还提供了新的较小的列表弹出报告表。应用程序中的内联文本字段现在可以扩展以继续显示完整输入。
SwiftUI 还支持在深色模式下更好地适应 UI 元素,以及更好地在线缩放界面元素。此外,还引入了更好的 UIKit 与 SwiftUI 的互操作性。
有一个新的 Share Sheet API,以及对 macOS 的许多改进。桌面操作系统将获得对其浮动和可调整大小窗口的更好支持。最后,为即将推出的 iOS 16 添加了锁定屏幕上的小部件支持。
借助 Swift Charts,导入应用程序的图形和数据可以利用具有原生外观的图表。
SwiftUI 中的一个新视图加入了列表、图表等其他视图,采用导入的数据并自动生成图表。折线图、条形图、饼图和直方图是现在作为 SwiftUI 的一部分支持的许多不同图表类型之一。Swift Charts 还支持六种不同的标记类型,包括常用的线和点选项,以及不太常用的规则选项。
集成到 Swift 中并使用与 Apple 为其自己的应用程序提供的相同界面,开发人员可以自定义图表元素的图例、颜色、比例和不透明度。Swift Charts 自动处理本地化、暗模式的使用和动态字体。
系统界面自定义选项也可用于图表。开发人员可以设置背景颜色、启用或禁用查看单个数据点的选项、更改突出显示的数据参数以及启用选项卡以在不同的时间尺度之间切换。
在多人游戏中,尤其是在点对点环境中,需要在连接到同一网络的不同设备之间生成、接收和发送单独的游戏数据。Swift 中新的分布式 Actor 功能使多人游戏更加可行。
除了允许调试器通过查看每个连接设备的活动来轻松跟踪错误的原生透明功能之外,还添加了机器人支持。除了将玩家连接到其他人类对手之外,这将允许游戏插入计算机玩家。
分布式参与者使用中央服务器和点对点连接处理游戏,以跨多个设备提供游戏玩法。
该功能还可以应用于需要编辑和同步数据并在网络中的所有设备上即时更新的非游戏环境中。
在快速移动的数据流中,例如具有多个成员的云相册,数据以不可预测的集群间隔到达,与系统刷新时间不完全一致。对于操作员来说,当系统难以承受时间和数据量时,他们可能不得不监督系统挂起。
为了解决这个问题,引入了处理异步数据导入的新 Swift 功能,称为异步算法。异步算法实时对数据流进行排序,并将它们聚集成很小的设定时间间隔,以便信息可以在可预测的时间到达服务器。
时钟和去抖动允许系统仅在新数据到达时唤醒服务器,并分别在数据流安静时安排下一个输入。
异步算法还可用于连接和拆分数据点,以实现更优化的数据流。
正则表达式或正则表达式将各种形式的表达式样式汇集到标准化形式中。例如,月、日和年的排列可能因地区而异。正则表达式的使用将帮助系统在国际工作流程中获取正确的日期信息。
Swift 标准库现在将 Regex 作为其中一种类型。
Swift 5.7 中的新功能是改进的正则表达式引擎,它本质上是一种搜索功能,试图将精确的文本或数据类型与搜索查询进行匹配。此功能可用于以灵活的方式使用更具体的查询扫描大型数据库中的数据。
合并正则表达式引擎的能力现在内置在 Swift 中。引擎解析和处理数据,并将它们分类到开发人员创建的代码指定的类别中。这包括文本字符串,以及更一般的信息,如日期和时间。然后,引擎会准确识别数据所代表的内容,并对其进行标准化,因此它们不受地区特定表达方式的影响,这些表达方式可能会使其他地区的用户和开发人员感到困惑。
搜索查询也更加精细和动态,并且可以设置为不同级别的匹配。
资料来源:AppleInsdier