SuperAPI AI 工具集

core-data

数据与分析

查看项目

更新于 10-15 21:12

技能介绍

用途:为尚未采用 SwiftData 的 iOS 应用构建、审查或改进 Core Data 数据持久化,覆盖栈搭建、并发、批量操作、NSFetchedResultsController、持久化历史追踪、分阶段迁移与测试。

主要能力:用 NSPersistentContainer 封装 Core Data 栈(CloudKit 同步改用 NSPersistentCloudKitContainer);处理上下文与队列绑定,viewContext 在主队列、后台上下文在私有队列,跨队列访问需用 perform(:) 或 performAndWait(:),跨上下文传递 NSManagedObjectID 而非托管对象;用 NSFetchedResultsController 驱动 UITableView/UICollectionView,支持 diffable 快照与缓存;批量插入、删除、更新在 SQL 层执行,需手动将结果合并回上下文;持久化历史追踪支持多目标与多进程变更;NSStagedMigrationManager(iOS 17+)按有序阶段迁移,低版本走轻量迁移或映射模型;iOS 17+ 支持复合属性。

使用方式:初始化并共享 NSPersistentContainer,设置 automaticallyMergesChangesFromParent 与 mergePolicy;后台写入用 newBackgroundContext 配合 perform;批量操作后调用 mergeChanges(fromRemoteContextSave:into:);测试使用内存存储并共享 NSManagedObjectModel。

限制:批量删除不执行 Deny 删除规则;不得将 NSManagedObject 标记为 Sendable;修改 NSFetchedResultsController 的谓词或排序前需先 deleteCache(withName:);与 SwiftData 共存或迁移需保持存储 URL、实体与属性名称及模式兼容,并参考 swiftdata 技能。具体收费、价格与平台信息暂未提供。