Core Data 数据迁移与性能调优指南
1. 数据迁移
当 Core Data 检测到需要对持久存储进行升级时,它会在应用程序包中查找以下三个文件:
- 与持久存储中的哈希值匹配的托管对象模型(MOM)。
- 当前的 MOM。
- 这两个 MOM 对象的映射模型。
假设这三个文件都能找到,Core Data 会将持久存储中的数据从旧模型迁移到当前模型。如果 Core Data 找不到映射模型,它会检查是否启用了推断(自动)迁移,并尝试进行轻量级迁移。如果未启用推断迁移,或者迁移过于复杂而无法进行轻量级迁移,则会发生错误。否则,一旦迁移完成,堆栈(托管对象上下文 MOC、持久存储 PS 和 MOM)将完全初始化,应用程序将继续运行。
以下是数据迁移的流程图:
graph TD;
A[Core Data检测到持久存储升级] --> B{查找三个文件};
B -- 找到 --> C[迁移数据];
B -- 未找到映射模型 --> D{推断迁移是否开启};
D -- 开启 --> E[轻量级迁移];
D -- 未开启 --> F[发生错误];
C --> G[堆栈初始化,应用继续];
E --> G;
应用程序开发者务必尽可能全面地测试迁移过程,并在开发和测试期间检查每一个错误情况。由于应用程序发布到 App Store 可能会有延迟,确保每次迁移都能正确执行变得前所未有的重要。
超级会员免费看
订阅专栏 解锁全文
911

被折叠的 条评论
为什么被折叠?



