0

我检查了很多网站和答案,但找不到任何针对我的问题的解决方案。

我不需要更改我的核心数据模型的架构,我只需要修改(添加一些)内容到当前的支持 SQL 数据库。

对此的任何方向都将受到欢迎。谢谢。

PS:我尝试了 Apple 文档,它们对我来说就像 Mecury 上的阳光一样有用。

也请放轻松,我是初学者。

谢谢。

更新;

为了更清楚地了解我的问题,我的应用程序就是这样工作的。我在应用程序上预加载了用户无法更改的静态信息,每天都有新内容。每个月,我都会推送一个更新,其中包含该月特有的全新内容。然而,当我的应用程序进入生产时,在我为本月推送的更新中,我的用户抱怨他们无法访问当月的数据。这导致我通过推送通知向他们发送垃圾邮件,让他们删除应用程序并重新安装以访问新数据。

我该如何解决这个问题?我的架构保持不变,只有数据发生了变化。

4

2 回答 2

0

如果我理解正确,您想预填充核心数据数据库?

如果您不关心现有应用程序上的预先存在数据,您可以制作具有相同模型的 iPhone 或 Mac 应用程序,并让它生成数据库,就像在这里解释(Any way to pre populate core data?)它也是如果您想了解有关 Core Data 的更多信息( http://pragprog.com/book/mzcd2/core-data),那么在一本非常棒的书中推荐的方式。

永远不要直接发出 SQL 请求,Core Data 以他自己的神奇方式工作。

于 2013-06-21T10:40:34.577 回答
0

不要直接在 SQLite 数据库上工作。通过更改您的所有数据NSManagedObjectContext!要找到一个好的策略,请查看 Batch-Importing 中的示例。

更新:您实际上可以拥有两个 PersistentStore(一个仅包含静态数据(只读),另一个包含用户生成的数据)。您可以交换使用命令行实用程序预填充并从服务器下载的只读文件。但是,您不能在这两家商店之间建立直接关系。我会说这取决于这个预填充存储中的数据量,您应该采用这种方式还是只使用 plist 并在您的用户数据存储中引用一些字符串常量。尝试使用 plist 来完成,因为这是更简单的方法。

于 2013-06-21T09:34:07.310 回答