我在商店中有一个带有 CoreData 模型的应用程序,我想完全更改该应用程序(删除一些垃圾、组织、新的 CoreData 模型......等)。
所以我想重新开始并创建新项目,当我尝试将商店中的旧应用程序升级到这个新应用程序时会发生什么?(我担心CoreData)
多谢
我在商店中有一个带有 CoreData 模型的应用程序,我想完全更改该应用程序(删除一些垃圾、组织、新的 CoreData 模型......等)。
所以我想重新开始并创建新项目,当我尝试将商店中的旧应用程序升级到这个新应用程序时会发生什么?(我担心CoreData)
多谢
如果您稍微更改核心数据模型,则需要将数据迁移到新模型:
您只能使用用于创建它的托管对象模型打开 Core Data 存储。因此,更改模型将使其与之前创建的商店不兼容(因此无法打开)。如果您更改模型,则需要将现有商店中的数据更改为新版本 - 更改商店格式称为迁移。
这来自苹果的文档:http: //developer.apple.com/library/mac/#documentation/cocoa/conceptual/CoreDataVersioning/Articles/Introduction.html
因此,如果您希望用户在新版本中拥有他们的旧数据,那么您实际上必须复制旧的核心数据模型,以便提取数据并将其迁移到新模型中。当然,对于该版本之后的任何版本,您都可以摆脱旧模型。