我刚刚开始研究使用UIManagedDocument进行持久化的应用程序。据我所知,使用UIManagedDocument的唯一原因是利用它自动设置核心数据堆栈。
现在,我需要更改数据模型以实现一些新功能。对数据模型的更改将会非常激烈,我正在考虑从UIManagedDocument切换到正常的核心数据堆栈。我一直在阅读很多关于核心数据迁移和UIManagedDocument的内容,但是从UIManagedDocument转到普通的CoreData堆栈,看起来我必须编写一个可以迁移数据的类吗?我只是想知道最好/最安全的方法是什么。
答案 0 :(得分:0)
您需要哪些迁移仅取决于数据模型的更改方式。从UIManagedDocument
创建的堆栈移动到您创建的堆栈,就数据迁移而言应该没有任何意义。如果有多个文档,您必须弄清楚如何处理它,但如果仅使用UIManagedDocument
来避免编写样板堆栈设置代码,那不是问题。
由于您将模型更改描述为“激烈”,因此您必须考虑配置迁移。您可能只需要一个自定义映射模型,或者您可能需要获取完整的自定义迁移代码。这实际上取决于模型如何变化的细节。