用途:审查使用 SwiftData 的 .swift 代码,聚焦模型设计、查询、并发和迁移四类问题。
主要能力:按问题类型提供对应参考文档,包括模型设计(@Model、@Attribute、@Relationship、删除规则)、查询(@Query、#Predicate、FetchDescriptor、#Index)、并发(@ModelActor、ModelContext、后台操作)、迁移(VersionedSchema、MigrationStage、轻量与自定义迁移)。审查前设置硬性门槛:确认范围内存在 SwiftData 相关声明;每评估一项需打开匹配的参考文档或写明该项不适用及原因;每条发现需给出 [FILE:LINE] ISSUE_TITLE 形式的引用;报告需先引用后分组,禁止无引用断言。
检查清单要点:模型标记 final;@Relationship 仅在一侧声明;显式设置删除规则而非依赖默认 .nullify;关系初始化为空数组;批量插入用 append(contentsOf:);@Query 不在主线程加载海量数据;谓词中的外部值用局部变量捕获;谓词做标量比较而非对象引用;后台操作用 @ModelActor;跨 actor 传递 PersistentIdentifier/DTO;每个已发布版本定义 VersionedSchema;向 ModelContainer 传入 MigrationPlan。
使用方式:根据审查对象加载对应参考文件——模型或关系对应 model-design.md,@Query 或 #Predicate 对应 queries.md,@ModelActor 或后台工作对应 concurrency.md,模式变更或迁移对应 migrations.md。审查时可参考以下问题:关系赋值是否会产生 NULL 外键?两侧都加 @Relationship 是否造成循环引用?@Query 是否会因大数据集阻塞主线程?模型对象是否被不安全地跨 actor 传递?模式变更是否需迁移计划?
限制:具体安装方式、价格、平台支持等资料未提供,暂未说明。