gpt4 book ai didi

ios - 跳过核心数据迁移

转载 作者:行者123 更新时间:2023-11-29 03:57:31 25 4
gpt4 key购买 nike

我对我的核心数据模型做了很多更改。过去我们使用的是简单的自动迁移。然而这一次将会失败。因为我真的不关心正在迁移的数据,所以我只想在自动迁移失败时删除持久存储并重新设置它。这是一个有效的方法吗?有什么我必须小心的吗?这会让我的应用被拒绝吗?

最佳答案

这样做肯定会出现一些问题,您需要小心。 This answer从 NSManagedObjectContext 的文档中得到了一些很好的建议

A context always has a “parent” persistent store coordinator which provides the model and dispatches requests to the various persistent stores containing the data. Without a coordinator, a context is not fully functional. The context’s coordinator provides the managed object model and handles persistency. All objects fetched from an external store are registered in a context together with a global identifier (an instance of NSManagedObjectID) that’s used to uniquely identify each object to the external store.

当我们的一个应用程序遇到类似的情况时,我选择创建一个新的持久存储,并弃用旧的存储,因为我们的旧存储由于之前的错误迁移而在许多设备上被搞乱了。最终的转变比我预想的要困惑,但它确实有效。

你的计划中的问题并非无法克服,我只是建议谨慎行事。我喜欢 Giao 关于使用 NSManagedObjectContext 重置的建议。当删除和重建时,持久存储协调器可能会感到困惑。我很担心,因为苹果似乎在幕后做了很多事情。我还担心,因为似乎核心数据在已发布的应用程序上的行为与我们的调试版本上的行为不同,尤其是在升级过程中。

我认为您很聪明地认识到您的自动迁移将会遇到麻烦,并且您正在寻找另一条路径。最近,我看到一个团队确实不得不忙于一个月来处理其应用程序中失败的数据迁移。

关于ios - 跳过核心数据迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16330793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com