0

在处理 CoreData 时,我遇到了一些问题,我试图将其扼杀在萌芽状态,以便将来对系统进行校对。一个简单的事实是,我以前从未做过这样的事情(即使用 CoreData)。虽然我已经设法弄清楚如何在应用程序中使用它,但我需要知道一种体面的做法来指示应用程序在首次应用程序启动时需要刷新默认数据的版本之间。

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

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

我想,对coredata“添加模型版本”进行版本控制就可以了,将新的数据库版本设置为活动版本,但是当我在模拟器中启动应用程序时,没有任何反应告诉我里面的数据被保留了。

对我应该做些什么来适应这一点的任何帮助将不胜感激。谢谢!

4

1 回答 1

1

您应该会发现 Core Data Model Versioning and Data Migration 指南很有用:

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

您可能还会发现使用 coredata 导入初始数据的方法很有用。

于 2013-02-04T18:41:03.467 回答