更新於 2022/06/17閱讀時間約 2 分鐘

Swift 新特性 (2022)

    这是我刚刚从 WWDC 上看到的一个视频,这里是亮点,在结论中是我的想法。所以你不必看它(如果你不想)。如果您这样做了,请观看 Apple 开发者门户中的视频,而不是阅读本文,因为这实际上只是我对该视频的注释。 对 Swift 包管理器的首次使用信任。 一种安全协议,在首次下载后,后续下载将根据初始下载进行验证。 Swift 包 命令插件 替换 shell 脚本,使用 Swift!这些可以在您想要作为自定义操作时运行。 从构建中生成源代码(如果插件具有写入权限),或自动执行发布任务。 本质上,这些是 Swift 包,避免将运行时内容引入您的应用程序。 构建工具插件 这些扩展了构建系统的依赖图。它们能够生成源代码或资源作为构建的一部分,并且可以应用于需要它们的每个目标(与命令插件相反)。 Swift 性能 现在可以并行执行构建(这很棒!)。诸如具有通用要求的协议之类的类型检查可能会很慢,但是现在速度要快得多,因为现在缓存了应用程序启动时的计算协议。 并发更新 数据竞争?新的并发模型已成为过去。 数据竞争安全应该防止以下情况,因为 `removeLast` 是在运行 append 之前还是之后运行? 此行为被错误捕获,因为这应该与参与者同步。 添加到actor的distributed关键字应该可以防止跨服务器使用actor时出现错误等 。仪器中的Swift并发视图 这听起来相当不错! Swift 语言可用性 可选展开+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + if let 模式很棒!但是否可以改进而不是在 = 的两侧使用相同的变量名?对此有一个新的速记模式, 与守卫相同,而 可选 复杂闭包现在可以推断结果类型。是的,这很棒。 指针转换 使在 Swift 中更容易使用 C 函数。这很好。 正则表达式和正则表达式组件 搜索和切片是一件很痛苦的事情,所以苹果似乎希望你使用正则表达式和他们新的正则表达式生成器。 RegexComponent 是一个可重用的正则表达式组件。因为当然是。 泛型和协议 协议通常意味着“是符合此协议的实例”。但是,同时(在不同的上下文中)它可能意味着符合协议的潜在实例(它本身不符合协议)。 为了区分后者和前者,使用了`any`关键字: var map: any Mailmap 我们可以在下面的代码中看到区别 如果泛型类型只用在一个地方,你可以使用`some`关键字。这使它们与上述协议一样易于使用。
    分享至
    成為作者繼續創作的動力吧!
    © 2024 vocus All rights reserved.