【发布时间】:2012-01-27 10:13:26
【问题描述】:
我使用 Core Data 来维护一个持久存储,并且数据库可以变得非常大。我在 iPad 1s 上拥有较大数据库的用户没有及时完成轻量级迁移,以便在应用程序因挂起而被 iOS 杀死之前完成。
我想要做的是每次服务器启动时,检查数据库是否需要迁移(我在 NSPersistentStoreCoordinator 上找不到这个方法),如果它确实保持服务器启动过程直到数据库升级并在屏幕上显示一个微调器,然后在服务器启动过程中继续前进。最好的方法似乎是在服务器启动方法中添加 - (BOOL) upgradeStoreNeedsUpgrade 方法,但我找不到检查方法。我没有在 NSPersistentStoreCoordinator 或 NSPersistentStore 上看到用于检查给定 URL 上的数据库与给定托管对象模型的兼容性的方法。
我的解决方案是否正确,如果正确,如何检查托管对象模型是否与给定 URL 处的 SQLite 文件兼容?
【问题讨论】:
标签: objective-c ios core-data