我有一个澄清,如果我已经在ituenes应用商店中上传了我的应用的第一个版本1.0,并且已经下载了100个用户并使用了该应用,一个月后,我在同一个应用中添加了一些额外的功能并上传了下一个版本例如:1.2
然后,已经使用这些应用程序的100个用户已更新为下一版本。
我的问题是:在第一个版本中,如果他们将数据保存在1. Nsuser Default 2.核心数据中
更新下一个版本时,将其删除吗?
将会是什么过程,可能会有一些解释。
使用Core Data时,如果您对数据模型进行了更改,则有多种可能性。
首先,如果您什么也不做,只是更新数据模型,那么当将更新应用到现有安装时,尝试访问CoreData数据时,应用程序将崩溃。这是因为它期望的模型不同于数据库中的模型。
其次,您可以通过手动删除核心数据存储并设置新的存储来解决此问题。这也将摆脱所有数据,因此可能不是一个好的解决方案。
第三,您可以更新CoreData型号版本号。与其仅更改数据模型,不如从现有模型中创建一个新版本的数据模型。
现在,当应用程序检测到数据模型和数据不匹配时(如上面的第一个版本),它将把数据从旧版本迁移到新版本。有时这是自动实现的,但可能需要您提供一些其他代码来帮助实现。
该站点介绍了迁移的工作方式... https://www.objc.io/issues/4-core-data/core-data-migration/
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句