SuperAPI AI 工具集

swiftdata-architecture

编程与开发

查看项目

更新于 10-16 08:10

技能介绍

用途:为使用 SwiftData 做持久化的 macOS(及 Apple 平台)项目提供架构决策指导,覆盖 schema 设计、查询优化与数据层抽象,强调与 SwiftUI 和现代 Swift 并发配合的模式。

主要能力:模式设计(@Model 类、关系、属性、唯一约束);查询模式(@Query、FetchDescriptor、谓词、排序、分页);仓储模式(基于协议的数据抽象、依赖注入、可测试性);性能(批量操作、后台上下文、懒加载、内存管理)。适用场景包括新应用数据建模、Core Data 迁移、慢查询或高内存优化、构建可测试数据层、审查现有用法。

关键准则:新项目优先 SwiftData;视图中用 @Query,服务中用 FetchDescriptor;需要可测试性或数据源灵活性时使用仓储模式;大数据集采用分页、后台上下文与批量操作;关系默认可选,除非模型缺少它即无效。常见陷阱:缺少唯一约束导致重复导入;抓取过多数据(应设置 propertiesToFetch 与 fetchLimit);在错误上下文修改模型(后台任务应通过 ModelContext(container) 获取后台上下文再保存)。

审查流程:先理解实体、关系、数据量与查询模式,再按 schema、查询、仓储、性能模块检查,最后给出问题、影响、修复与迁移提示。注意:SwiftData 最低部署目标为 macOS 14+;模型变更需考虑 schema 迁移;ModelContext 有线程安全要求。详细模块文档(schema-design.md、query-patterns.md、repository-pattern.md、performance.md)暂未提供具体内容。