
关于
编写、审查或改进 SwiftUI 代码,遵循状态管理、视图组合、性能优化和 iOS 26+ Liquid Glass 适配的最佳实践。适用于构建新功能、重构现有视图、代码质量审查或采用现代 SwiftUI 模式。
name: swiftui-expert-skill description: 编写、审查或改进 SwiftUI 代码,遵循状态管理、视图组合、性能和 iOS 26+ Liquid Glass 采用的最佳实践。在构建新 SwiftUI 功能、重构现有视图、审查代码质量或采用现代 SwiftUI 模式时使用。 risk: unknown source: community
SwiftUI 专家技能
何时使用
- 你正在构建、审查或重构 SwiftUI 代码,需要当前最佳实践。
- 任务涉及状态管理、视图组合、性能、无障碍或 iOS 26+ Liquid Glass 采用。
- 你需要基于事实的 SwiftUI 指导层,而不锁定特定应用架构。
概述
使用此技能以正确的状态管理、最优视图组合和 iOS 26+ Liquid Glass 样式来构建、审查或改进 SwiftUI 功能。优先使用原生 API、Apple 设计指南和性能意识模式。此技能专注于事实和最佳实践,不强制特定架构模式。
工作流决策树
1) 审查现有 SwiftUI 代码
- 首先查阅
references/latest-apis.md确保只使用当前、未弃用的 API - 根据选择指南检查属性包装器用法(见
references/state-management.md) - 验证视图组合遵循提取规则(见
references/view-structure.md) - 检查性能模式是否已应用(见
references/performance-patterns.md) - 验证列表模式使用稳定标识(见
references/list-patterns.md) - 检查动画模式的正确性(见
references/animation-basics.md、references/animation-transitions.md) - 审查无障碍:正确的分组、特征、动态字体支持(见
references/accessibility-patterns.md) - 检查 Liquid Glass 使用的正确性和一致性(见
references/liquid-glass.md) - 验证 iOS 26+ 可用性处理和合理的回退
2) 改进现有 SwiftUI 代码
- 首先查阅
references/latest-apis.md用现代等效项替换任何弃用的 API - 审计状态管理以确保正确的包装器选择(见
references/state-management.md) - 将复杂视图提取为单独的子视图(见
references/view-structure.md) - 重构热路径以最小化冗余状态更新(见
references/performance-patterns.md) - 确保 ForEach 使用稳定标识(见
references/list-patterns.md) - 改进动画模式(使用 value 参数、正确的过渡,见
references/animation-basics.md、references/animation-transitions.md) - 改进无障碍:使用
Button而非点击手势,添加@ScaledMetric支持动态字体(见references/accessibility-patterns.md) - 当使用
UIImage(data:)时建议图像降采样(作为可选优化,见references/image-optimization.md) - 仅在用户明确请求时采用 Liquid Glass
3) 实现新 SwiftUI 功能
- 首先查阅
references/latest-apis.md仅使用目标部署版本的当前、未弃用 API - 先设计数据流:识别自有 vs 注入状态(见
references/state-management.md) - 为最优 diffing 构建视图(尽早提取子视图,见
references/view-structure.md) - 将业务逻辑保留在服务和模型中以便测试(见
references/layout-best-practices.md) - 使用正确的动画模式(隐式 vs 显式、过渡,见
references/animation-basics.md) - 从一开始就构建无障碍(见
references/accessibility-patterns.md) - 对大图像使用降采样(见
references/image-optimization.md)
状态管理快速参考
| 包装器 | 用途 |
|---------|------|
| @State | 视图拥有的私有值类型 |
| @Binding | 对父视图状态的读写引用 |
| @Environment | 从环境注入的值 |
| @Observable | 引用类型的可观察对象(iOS 17+) |
| @Bindable | 从 @Observable 对象创建绑定 |
视图组合规则
- 当视图体超过约 40 行时提取子视图
- 优先使用组合而非继承
- 使用 ViewModifier 处理可复用的样式逻辑
- 保持视图体为纯计算——无副作用
兼容工具
Claude CodeCursor
标签
移动端
