swift-listed
Install: claude install-skill microwind/ai-skills
# Swift 静态分析与现代化架构生态 (Swift 5.9+)
## 概述
Swift 自从取代 Objective-C 以来,经过多年迭代已经成为了一门兼具安全、极速与表现力的现代语言。由于深度绑定 Apple 生态圈,它的开发范式经历了从 UIKit Delegate 时代到现代 **SwiftUI** 与 **Combine** 声明式的巨大转变。
同时,自 Swift 5.5 引入的 **Structured Concurrency (结构化并发, async/await)** 和 **Actors** 打破了长期统治苹果开发生态的 GCD (Grand Central Dispatch / DispatchQueue) 回调地狱。然而,伴随着 `closures` (闭包) 和 `class` 的大量混用,ARC 面临的最大隐性克星 —— **强引用循环 (Retain Cycles)** 导致内存泄漏 (Memory Leak) 在项目中依然屡见不鲜。
**核心原则**: "防微杜渐,声明优先"。对所有的引用传递敲打问号;在跨越系统边界处主动斩断强依赖树;摒弃手动维护状态,使 UI 只做驱动模型状态的反射。
## 何时使用
**始终:**
- 开发苹果全家桶原生应用 (iOS / macOS / visionOS / watchOS)。
- 维护或升级使用了老旧 `@escaping` 闭包和 `NotificationCenter` 的陈旧代码库。
- 将复杂交互迁移至 `SwiftUI` 响应式视图体系。
- 解决 Xcode Memory Graph 发出的交叉持有的警告并排查由于 Navigation 引发的爆内存退场。
**触发短语:**
- "如何解决 Swift 闭包里的 Retain Cycle 并优化 weak self 用法?"
- "推荐一些从 GCD 迁移到 Swift async/await 的最佳实践。"
- "SwiftUI 里面 @State, @Binding 和 @Observable 怎么区分,不要乱用?"
- "Actor 怎么避免 Swift 里的数据竞态 (Data Race)?"
- "如何优化 Swift 的编译速度和庞大项目结构?"
- "请给我一个 iOS Clean Architecture 或 MVVM 的防腐结构向导。"
## Swift 专项分析机制
### 自动引用计数与生命周期探测 (ARC & Memory Leaks)
- **闭包循环检测 (Closure Retain Cycle)**: 拦截在闭包中直接通过 `self.method()` 导致的隐式强捕获,强制提醒并重构为 `[weak self]` 或 `[unowned self]`。
- **委托协议生命周期 (Delegate Patterns)**: 防治未被 `@propertyWrapper` 或 `weak` 修饰的 Delegate 指针,导致子控制器锁死父控制器的释放链。
- **大值隐患 (Value Type bloat)**: Swift 中的 `struct` 是按值传递(Copy-on-Write)。检测在集合或大型状态容器中引发隐式全量深拷贝的低效操作。
### 现代化并发架构 (Structured Concurrency)
- **GCD 滥用 (DispatchQueue Hell)**: 找出深层嵌套的 `DispatchQueue.main.asy