名称: swift-concurrency-expert
描述: 针对 Swift 6.2+ 的并发代码审查与修复。当需要审查 Swift 并发使用、提升并发合规性或修复功能/文件中的 Swift 并发编译器错误时使用。
来源:复制自 @Dimillian 的 Dimillian/Skills (2025-12-31)。
通过应用 Actor 隔离、Sendable 安全性以及现代并发模式,审查并修复 Swift 6.2+ 代码库中的并发问题,同时尽可能减少对现有行为的改动。
@MainActor、actor、nonisolated),以及是否启用了默认的 Actor 隔离模式。优先选择在满足数据竞争安全性的前提下,能保留现有行为的修改。
常见修复方案:
- UI 相关类型:使用 @MainActor 注解类型或相关成员。
- 主 Actor 类型的协议遵循:使遵循具有隔离性(例如:extension Foo: @MainActor SomeProtocol)。
- 全局/静态状态:使用 @MainActor 保护,或将其移至 Actor 内部。
- 后台任务:将耗时操作移至 nonisolated 类型的 @concurrent 异步函数中,或使用 actor 来保护可变状态。
- Sendable 错误:优先使用不可变/值类型;仅在正确的情况下添加 Sendable 遵循;除非能证明线程安全,否则避免使用 @unchecked Sendable。
references/swift-6-2-concurrency.md。references/swiftui-concurrency-tour-wwdc.md。