core-data-expert 是做什么的?
Core Data 专家指导(iOS/macOS):堆栈搭建、获取请求与 NSFetchedResultsController、保存/合并冲突、线程与 Swift Concurrency、批量操作与持久化历史记录、迁移、性能以及 NSPersistentCloudKitContainer/CloudKit 同步。
概述
本技能为 iOS 和 macOS 开发者提供全面的 Core Data 专家级指导。无论您是刚接触 Core Data 的新手还是经验丰富的开发者,都能从中找到实用的解决方案和最佳实践。
核心主题
堆栈搭建
- 使用
NSPersistentContainer进行标准堆栈配置 - 自定义
NSManagedObjectModel和持久化存储协调器 - 多存储配置与实体分区
获取请求与 NSFetchedResultsController
NSFetchRequest的高级查询技巧- 谓词、排序描述符和批量大小优化
- 使用
NSFetchedResultsController高效管理 UI 更新
保存与合并冲突
- 上下文保存的最佳实践
- 合并冲突处理策略(
NSMergePolicy) - 正确处理保存过程中的错误
线程与 Swift Concurrency
- 线程安全:在主队列和私有队列上下文中操作
perform和performAndWait的使用- 与 Swift Concurrency(
async/await、Task)集成
批量操作与持久化历史记录
NSBatchDeleteRequest、NSBatchUpdateRequest和NSBatchInsertRequest- 持久化历史记录跟踪与处理
- 跨上下文/进程的变更通知
迁移
- 轻量级迁移 vs. 映射模型
- 自定义迁移策略
- 渐进式迁移与版本管理
性能优化
- 延迟加载、故障处理和预抓取
- 索引和统计
- 内存管理与对象图优化
NSPersistentCloudKitContainer 与 CloudKit 同步
- 设置 iCloud 同步
- 处理同步冲突与网络问题
- 自定义 CloudKit 模式
使用方式
在 AI 编程助手的对话中,您可以询问与上述任何主题相关的具体问题。例如:
- "如何配置轻量级迁移?"
- "使用
NSFetchedResultsController时如何处理段变更?" - "在 Swift Concurrency 中安全保存 Core Data 上下文的最佳实践是什么?"
- "如何设置
NSPersistentCloudKitContainer从本地存储过渡到 iCloud?"
要求
- 此技能适用于 iOS 13.0+ / macOS 10.15+(包含 Swift Concurrency 和 CloudKit 相关内容)
- 通用 Core Data 概念适用于更早的版本
- 用户应具备 Swift 和 Core Data 的基础知识
许可证
本技能按原样提供,用于学习和参考。请根据您的项目酌情使用。