用途:为 iOS 项目提供 Core Data 持久化、CloudKit 同步、schema 迁移及向 SwiftData 迁移的架构指导。激活触发词包括 Core Data、NSManagedObject、CloudKit sync、Core Data migration、NSFetchedResultsController、NSPersistentContainer、SwiftData migration、lightweight migration、Core Data performance。不适用于 SwiftUI 状态管理、服务端数据库、直接使用 SQLite 的场景。
主要能力:持久化(NSPersistentContainer、NSManagedObjectContext、WAL 模式);CloudKit(NSPersistentCloudKitContainer、CKRecord zone、冲突解决);迁移(轻量迁移、映射模型、渐进式迁移);性能(NSBatchInsertRequest、NSBatchDeleteRequest、faulting、预取);SwiftData(与 Core Data 共存、迁移路径、从 NSManagedObject 转换到 @Model)。
使用方式:先评估项目状态(新项目考虑 SwiftData;已有 Core Data 评估迁移或共存),在 .xcdatamodeld 中设计实体与关系,配置持久化容器(CloudKit 用 NSPersistentCloudKitContainer,本地用 NSPersistentContainer),制定迁移计划,并通过 fetchBatchSize、后台上下文优化抓取。
限制与注意:viewContext 仅用于读取,写入用后台上下文;批量数据用 NSBatchInsertRequest;迁移必须用真实生产数据副本逐版本测试;启用持久历史跟踪(NSPersistentHistoryTrackingKey)以支持 CloudKit 同步与多进程协调;建议为每个模型版本记录迁移计划。