我有一个应用程序,它有许多核心数据迁移,有几个开发人员正在处理该项目,有一点似乎无法正确迁移核心数据模型。最终结果是,从特定版本的应用程序升级到当前版本的应用程序的用户无法将其上下文保存到商店(当应用程序进入后台时会发生此保存)。
记录的错误如下:
This NSPersistentStoreCoordinator has no persistent stores. It cannot perform a save operation.
幸运的是,用户不太可能从这次崩溃和错误中注意到太多,因为它发生在应用程序退出期间,并且该应用程序旨在简单地从本地丢失的Web检索任何数据,因此失败的保存不是与任何用户创建的数据丢失一样重要。当然,这不太理想,必须重新下载未在app退出时保存到商店的数据。
我的问题最终是如何解决这个问题呢?
我的想法是发布一个完全重置核心数据持久模型的次要更新。擦除任何旧的数据存储,并重新开始(记住所有数据都来自服务器)。用户不会有数据丢失,这将解决未来的问题。有更好的主意吗?
另外,如果这就是我决定做事的方式,我究竟会怎么做呢?我只是查看我的包并删除任何.momd文件,然后重新创建一个具有不同名称的新文件?或者删除不必要的只是给新名称会给出理想的结果?
答案 0 :(得分:2)
要完全重置,您可以在applicationDidFinishLaunching
中添加支票:
修复: