应用更新之间的CoreData,表示默认数据刷新

时间:2013-02-04 18:04:30

标签: ios core-data xcode4.5 database-versioning

在处理CoreData时,我遇到了一些问题,我正试图将这些问题扼杀在未来,以便将系统推向门外。事情的简单事实是我以前从未做过这样的事情(使用CoreData)。虽然我已经设法弄清楚如何在应用程序中使用它,但我需要知道一个不错的做法,在版本之间发信号通知默认数据需要在第一次应用程序启动时刷新。

现在,在我的AppDelegate中,我设置了托管对象上下文,并执行了一个获取请求,以查看特定表/实体中是否有任何记录。我只希望在第一次启动时发生这种情况,所以我不会在每次启动应用程序时不断重写数据库的内容。无论如何,它继续使用对象模型来处理有问题的实体之间的数据插入(有几个)

现在,对于这个版本的应用程序,它将在没有API的情况下进入商店(这是未来的事情),但在发布到应用商店的版本之间,我们可能必须更新实体内的特定信息(例如:价格),我再次只想在应用程序启动时进行此刷新。此外,架构可能会改变,我不确定是否或何时,但我想确保这可以容纳以防万一。

我认为,对coredata进行版本化“添加模型版本”可以解决问题,将新的db版本设置为活动版本,但是当我在模拟器中启动应用程序时,没有任何事情可以告诉我里面的数据是保留。

任何帮助我应该采取什么措施来容纳这一点将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

您应该找到有用的核心数据模型版本控制和数据迁移指南:

https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreDataVersioning/Articles/Introduction.html

您也可能会发现Method for import initial data with coredata有用。