SuperAPI AI 工具集

view-refactor

编程与开发

查看项目

更新于 10-16 09:50

技能介绍

用途:把 macOS 的 SwiftUI 视图和场景重构为小型、显式、稳定的场景与视图类型。布局、选择、命令与设置默认以原生 SwiftUI 实现,仅当桌面行为确实需要时才在窄边界使用 AppKit。

主要能力与准则:显式建模场景,将应用拆分为主窗口、设置、工具窗口、检查器或菜单栏附加项等场景根,避免一个巨型根视图独占所有桌面界面。保持可预测的文件结构,推荐顺序为环境、let 属性、@State 等存储属性、非视图 computed var、init、body、视图构建辅助、辅助及异步函数。按职责拆文件:小到不足约 50 行、单屏、无持久化与网络/进程客户端、无可复用模型的临时示例才可单文件;@main 应用与 AppDelegate 只放 App/<AppName>App.swift;Views/ContentView.swift 专注根布局,功能 UI 移至 SidebarView、DetailView、ComposerView 等;值类型与选择枚举放 Models/,store 放 Stores/,网络或进程客户端放 Services/,格式化与扩展放 Support/。优先使用专用子视图类型而非大量 computed some View 片段,向子视图传入显式数据、绑定与动作。保持选择与布局稳定,用局部条件而非顶层分支切换根视图。把命令、工具栏与动作逻辑从 body 中抽出为具名辅助或独立类型。合理使用 @SceneStorage 保存每窗口临时状态,@AppStorage 保存持久偏好,场景状态靠近场景根。AppKit 逃生舱保持窄小,用包装器隔离 representable 或 NSWindow 桥接。@Observable 引用类型在现代目标存为 @State 并显式传给子视图,旧目标回退 @StateObject/@ObservedObject。

工作流:识别当前场景边界与文件是否负担过重;按可预测顺序重排文件;抽取桌面专用区段为子视图;围绕选择、场景与命令稳定根布局;将动作、命令路由与工具栏行为移入具名辅助;收紧 AppKit 桥接;除明确要求外保持行为不变,并分步构建使编译错误局部化。

限制:资料未提供安装命令、收费方式、平台要求细节或具体代码示例;若问题本质是缺少桌面模式,建议使用 swiftui-patterns;若本质是 AppKit 边界,建议使用 appkit-interop。