SuperAPI AI 工具集

axiom-core-data

编程与开发

查看项目

更新于 10-16 00:22

技能介绍

用途:在 Core Data 与 SwiftData 之间做选型,并指导 Core Data 栈搭建、关系建模、并发与迁移。资料指出:新应用、iOS 17+ 且模型简单时倾向 SwiftData;目标 iOS 16 及更早、需要公共 CloudKit 数据库、自定义迁移逻辑或维护既有代码库时用 Core Data。

主要能力:给出决策树;提供现代栈示例(NSPersistentContainer、viewContext、newBackgroundContext);CloudKit 集成使用 NSPersistentCloudKitContainer 并开启历史跟踪与远程变更通知;并发核心原则是从不跨线程传递 NSManagedObject,只传 objectID,背景任务用 context.perform,iOS 15+ 可用 async/await;关系建模涵盖一对多、多对多与删除规则(Nullify、Cascade、Deny、No Action);抓取包含 SwiftUI 的 @FetchRequest、动态谓词、relationshipKeyPathsForPrefetching 预取与 fetchBatchSize;迁移区分轻量迁移与需映射模型的场景,并给出真实设备测试清单。

反模式:单例 context 处理一切、在 view body 中抓取、忽略合并策略。性能提示含批量保存、fetchLimit 及调试参数 -com.apple.CoreData.SQLDebug 1。特别注意 tvOS 上 Core Data + CloudKit 会因元数据膨胀叠加本地存储被系统删除,建议改用 SQLiteData 的 CloudKit SyncEngine。完整 API 与命令细节请参照原始资料,未提供的内容暂未说明。