Skip to content

Commit 4dc673e

Browse files
VaJoylanbangjue
andauthored
fix: 同步官方的错误勘正 (#1212)
Co-authored-by: lanbangjue <[email protected]>
1 parent 8f3b7b5 commit 4dc673e

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

source/02_language_guide/28_Concurrency.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,9 @@ show(photo)
7070

7171
```swift
7272
let firstPhoto = await listPhotos(inGallery: "Summer Vacation")[0]
73-
add(firstPhoto toGallery: "Road Trip")
73+
add(firstPhoto, toGallery: "Road Trip")
7474
//此时,firstPhoto暂时地同时存在于两个画廊中
75-
remove(firstPhoto fromGallery: "Summer Vacation")
75+
remove(firstPhoto, fromGallery: "Summer Vacation")
7676
```
7777

7878
其它代码不能在 `add(_:toGallery:)``remove(_:fromGallery:)` 两个方法之间运行。在此期间,第一张图片同时存在于两个图库,暂时打破了应用程序的一个不变量。为了更明确地表示这段代码不能加入 `await` 标记,你可以将这段代码重构为一个同步函数:
@@ -266,10 +266,10 @@ print(logger.max) // 报错
266266

267267
你可以通过声明其符合 `Sendable` 协议来将某个类型标记为可发送类型。该协议并不包含任何代码要求,但Swift对其做出了强制的语义要求。总之,有三种方法将一个类型声明为可发送类型:
268268

269-
- 该类型为值类型,且其可变状态由其它可发送数据构成——例如具有存储属性的结构体或是具有关联值的枚举。
270-
271-
- 该类型不包含任何可变状态,且其不可变状态由其它可发送数据构成——例如只包含只读属性的结构体或类
272-
269+
- 该类型为值类型,且其可变状态由其它可发送数据构成——例如具有存储属性的结构体或是具有关联值的枚举。
270+
271+
- 该类型不包含任何可变状态,且其不可变状态由其它可发送数据构成——例如只包含只读属性的结构体或类
272+
273273
- 该类型包含能确保其可变状态安全的代码——例如标记了 `@MainActor` 的类或序列化了对特定线程/队列上其属性的访问的类。
274274

275275
如需了解Swift对Sendable协议的语义要求的详细信息,请访问 [Sendable](https://developer.apple.com/documentation/swift/sendable) 协议参考。

0 commit comments

Comments
 (0)