Agent Skills
返回列表
💻

Swift专家

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md 的指南,把这个技能安装到 AI 助手:@kunlungrowth/kg-swift-expert。

技能介绍

问题:SwiftUI 状态与并发代码落到生产环境并不轻松

写一个能在设备上稳定跑的 Apple 应用,难点往往不在画一个 View。SwiftUI 的视图与状态绑定、跨线程访问共享可变状态、async/await 与 actor 的隔离边界,任何一个处理不当,都会让你在运行时碰到数据竞争、主线程卡顿或内存泄漏。更麻烦的是,这些缺陷通常不在编译期暴露。

核心能力与工作流

这个技能把任务拆成一条可复核的链路:

  • SwiftUI 视图与状态:构建 iOS/macOS 的视图层,理清 @State、@ObservedObject 等状态的归属与传递路径。
  • 协议导向架构:用协议抽象出视图、状态、领域层的边界,让替换实现和测试成为可能。
  • actor 线程安全:用 actor 隔离可变状态,配合 async/await 串行化访问,从结构上避免数据竞争。

它按五个步骤推进:先确认目标平台(iOS/macOS/watchOS/tvOS)与最低版本;再设计视图/状态/领域的分层和协议抽象;然后产出 SwiftUI 与并发代码;接着自检主线程、actor 隔离与内存循环;最后返回一份结构化的 SwiftAppSpec,字段为 {app, platform, architecture, notes}。

输出分两段:完整的结构化工件,以及一段自然语言摘要,指出质量自检结果和最该改的两到三点。例如遇到两个对象互相引用导致内存不释放的情况,它会定位到 delegate 或闭包处的循环引用,用 weak/unowned 打破循环。

适用边界与注意点

  • 面向 Swift 编写的 Apple 平台应用,不处理 Objective-C 老代码库的全量迁移。
  • 跨平台移动场景请改用 react-native-expert 或 flutter-expert。
  • 产出物是 SwiftAppSpec,下游可交给 code-reviewer 做评审。

换句话说,它更适合当你已经明确要用 Swift 和 SwiftUI 落地时,把架构与并发安全做对,而不是替你做技术选型。

使用场景

  • 用 SwiftUI 实现 iOS 登录页与表单状态管理,需要区分 @State 与 @ObservedObject 各自归属哪一层。
  • 多个服务对象互相持有 delegate 导致内存不释放,需要定位循环引用并用 weak/unowned 修复。
  • 为 macOS 应用设计分层结构,把视图、状态与领域逻辑用协议抽象,方便替换实现和写测试。
  • 引入 async/await 后多个任务并发写同一缓存,需要用 actor 隔离可变状态避免数据竞争。

适合人员

  • iOS 应用开发者:要在 SwiftUI 里拆清视图、状态与领域层,并产出一份可供 code-reviewer 评审的 SwiftAppSpec。
  • Apple 平台客户端工程师:准备用 actor 重写并发模块,担心 async/await 下的数据竞争和主线程卡顿。
  • 独立 App 作者:同时维护多个 Apple 平台项目,写界面的同时还要自己排查内存循环和线程安全问题。
  • 负责 Swift 代码评审的工程师:希望上游提交物是结构化的 SwiftAppSpec,而不是散落在聊天记录里的零散片段。