首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用程序更新后核心数据存储为空,但是数据模型没有改变

问应用程序更新后核心数据存储为空,但是数据模型没有改变
EN

Stack Overflow用户
提问于 2013-04-30 19:18:02
回答 2查看 1.2K关注 0票数 3

我正在开发一个应用程序的更新,它使用核心数据来持久化数据。我使用魔法记录使处理核心数据更容易。

此更新不涉及对数据模型的任何更改。

然而,当我在设备上安装新的更新时,现有的数据就会被删除,应用程序就会打开一个空的数据存储。没有关于记录的数据迁移问题的警告或错误消息。该应用程序也不会崩溃,在建立核心数据堆栈([MagicalRecord setShouldDeleteStoreOnModelMismatch:NO];)之前,将[MagicalRecord setShouldDeleteStoreOnModelMismatch:NO];设置为NO。

没有后续的核心数据问题(新数据保持良好)。

在此更新中对应用程序所做的主要更改如下:

  • 将应用程序转换为ARC
  • 将应用程序转换为外部库使用CocoaPods
  • 将MagicalRecord库从v1.8.3更新到v2.1

在我的中,我使用以下方法设置了核心数据堆栈:

代码语言:javascript
复制
[MagicalRecord setupAutoMigratingCoreDataStack];

有人知道是什么导致了这一切吗?

EN

回答 2

Stack Overflow用户

发布于 2013-04-30 19:44:34

当您有一个空存储时,通常意味着您的迁移模型没有正确地提升,或者您的模型模式标识符与数据存储的版本标识符不匹配。

确保保留核心数据模型的两个版本(前后)。这是核心数据如何与您的模型匹配存储,以及如何知道哪个版本是最新版本。

票数 2
EN

Stack Overflow用户

发布于 2014-04-01 12:38:50

删除存储后,需要指定要自动用新存储替换存储,如下所示。

[MagicalRecord shouldAutoCreateDefaultPersistentStoreCoordinator]; [MagicalRecord setShouldDeleteStoreOnModelMismatch:YES]; [MagicalRecord setupAutoMigratingCoreDataStack];

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16307379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档