用途:为 Apple 平台应用提供 Core Data 与 SwiftData 数据持久化知识,涵盖对象图建模、上下文管理、抓取请求、迁移与调试。
主要能力:对比 Core Data 与 SwiftData(最低 iOS 3.0+ 与 17.0+、.xcdatamodeld 与 @Model 宏、手动线程与 Actor、NSFetchRequest 与 #Predicate);讲解 Core Data 栈(NSPersistentContainer、NSManagedObjectContext、NSManagedObjectModel、NSPersistentStoreCoordinator)与 SwiftData 组件(ModelContainer、ModelContext、@Model、@Query);提供模型定义、容器设置、SwiftUI 集成、谓词查询、后台任务、批量插入、轻量迁移与自定义迁移管理器示例;附常见问题排查表与调试参数。
参数:framework(core_data/swift_data,默认 swift_data)、cloudkit_sync(默认 false)、lightweight_migration(默认 true)、store_type(sqlite/in_memory/binary,默认 sqlite)。
用法:通过 Skill("swift-core-data") 调用。前置条件为 Xcode 15+、理解对象图,了解 SQL 概念有帮助。调试可在 scheme 参数加入 -com.apple.CoreData.SQLDebug 1、-com.apple.CoreData.Logging.stderr 1 或 -com.apple.SwiftData.SQLDebug 1。
适用场景:iOS/macOS 应用本地数据存储、SwiftUI 列表查询、后台批量写入、数据模型演进迁移。
限制:资料未提供收费、价格、平台支持范围与效果数据;示例代码需按实际项目调整,迁移与 CloudKit 同步细节未完整展开。