Widget 的 Container Background
Widget 的 Container Background(容器背景) 是在 iOS 17 中引入的。在 Widget 的开发过程中,可能会在预览中遇到如下的错误 Widget needs to adopt container background. 容器背景用途 iOS 1...
How to manipulate an AsyncSequence using map(), filter(), and more 如何使用 map()、filter() 等作 AsyncSequence
AsyncSequence has implementations of many of the same methods that come with Sequence, but how they operate varies: some return a single value that fulfills you...
How to handle concurrency errors in unit tests 如何处理单元测试中的并发错误
Both Swift Testing and XCTest give us three main options for handling errors in tests: we can consider them immediate failures, we can handle them internally and make our own asser...
Live Data
基本介绍 LiveData 是一个可观察的数据持有类。与普通的可观察对象不同,LiveData 具备生命周期感知能力,也就是说它会遵循应用中其他组件(如 Activity、Fragment 或 Service)的生命周期。 这...
Lambda 表达式
将函数赋值给一个变量,它就变为一个函数字面量。Kotlin 提供了两种类型的函数字面量。 Lambda 表达式 匿名函数 基本介绍 语法 lambda 表达式通常与高阶函数一起使用,为这些函数提供自定义行为...
Day 2 – 理解数据类型和字符串操作
基本数据类型 String 字符串下标 字符串的下标 Subscripting可以提取字符串特定位置的字符。 # 提取第一个字符 print('Hello'[0]) # H # 提取最后一个字符 print('Hello'[len('Hello') - 1]) # ...
Animation
当指定的值发生变化时,将给定的动画应用于此视图。 struct ContentView: View { @State private var scale = 0.5 var body: some View { VStack { Circle().scale(scale).animation(.easeIn, v...
How to cancel a task group 如何取消任务组
Swift’s task groups can be cancelled in one of three ways: if the parent task of the task group is cancelled, if you explicitly call cancelAll() on the group, or if one of your ...









