Xcode 13 有哪些新变化之 01 Swift

Xcode 13出现在WWDC21 上,并包含了大量新元素、升级和性能改进。在本文中,我将向您介绍我认为有趣且有用的关键更改。

Swift

Swift 现在原生支持使用 async/await 和 actor 的并发编程。欲了解更多信息,请参阅什么在斯威夫特的新的,符合异步/地等待着斯威夫特,并在斯威夫特探索构建并发。
如果您有使用 completionHandler 的代码,则可以轻松重构它们。新的重构有助于迁移到异步代码。“Convert Call to Async Alternative”可用于将完成处理程序作为最后一个参数的调用,并重构它们以使用新的异步语言功能,假设该函数的异步等效项已经存在。

在这里插入图片描述

异步函数可以同时创建与执行子任务async let绑定。子任务从父级声明的点开始async let,而变量在使用它们的点async let声明await。在async let等待,直到子任务完成并返回一个值。

func chopVegetables() async throws -> [Vegetables]
func marinateMeat() async -> Meat
func preheatOven(temperature: Int) async -> Oven
func makeDinner() async throws -> Meal { 
    async let veggies = chopVegetables()  
    async let meat = marinateMeat()  
    async let oven = preheatOven(temperature: 350)
    let dish = Dish(ingredients: await [try veggies, meat])  
    return try await oven.cook(dish, duration: .hours(3))}
}

所有子任务在声明它们的范围退出之前完成。


精品教程推荐


加入我们一起学习SwiftUI

QQ:3365059189
SwiftUI技术交流QQ群:518696470
教程网站:www.openswiftui.com

发表回复