SuperAPI AI 工具集

view-refactor

前端与建站

查看项目

更新于 10-15 21:36

技能介绍

用途:重构 macOS 的 SwiftUI 视图与场景,使其结构稳定、职责清晰。默认用原生 SwiftUI 处理布局、选择、命令与设置,只在桌面行为真正需要处使用 AppKit。

主要能力与准则:显式建模场景,把应用拆成主窗口、设置、工具窗口、检查器或菜单栏等场景根,避免单一巨型根视图;保持可预测的文件顺序(环境、属性、@State、计算属性、init、body、视图构建器、辅助函数);按职责拆分文件,仅约 50 行以内、单屏、无持久化与网络/进程客户端、无可复用模型的示例才可放单文件;用 App/<AppName>App.swift 只放 @main 与 AppDelegate,Views/ContentView.swift 专注根布局,功能 UI 拆到 SidebarView、DetailView、ComposerView 等,模型、存储、服务、支持代码分别放入 Models/、Stores/、Services/、Support/;优先使用专用子视图而非大量计算 some View 片段,向子视图传显式数据、绑定与动作;保持选择与布局稳定,用局部条件而非顶层根切换;把命令、工具栏与动作逻辑从 body 中提取;按需使用 @SceneStorage 与 @AppStorage;收窄 AppKit 逃生口,隔离 representable 或 NSWindow 桥接;现代 macOS 上 @Observable 类型以 @State 持有并显式传递,旧目标回退 @StateObject/@ObservedObject。

工作流:识别场景边界与文件是否过载,重排文件结构,提取桌面专属子视图,稳定根布局,把动作与命令路由移入命名辅助或独立类型,收紧 AppKit 桥接,除非明确要求否则保持行为不变。检查清单包括拆分超大视图文件、移出纯模型与选择枚举、把 Process/URLSession/平台客户端移入 Services/、保持入口最小、每次大拆分后构建。常见问题:根视图混合窗口脚手架与设置、命令、详情布局;单文件混合入口与各层;把 iOS 式推入导航硬套 Mac 侧边栏-详情;用多个布尔表示互斥检查器;AppKit 对象无明确归属地穿透多层。若问题本质是缺少桌面模式,用 swiftui-patterns;本质是 AppKit 边界,用 appkit-interop。