在2个iPhone应用程序之间共享核心数据数据模型

时间:2011-01-21 12:34:32

标签: iphone xcode core-data data-modeling


我是coredata的新手,所以也许有人可以告诉我,我的计划是否有意义,或者是否还有其他最佳实践,所以: 基本上我正在构建2个应用程序:一个是从各种来源获取数据,将它们放在一起并将它们放入核心数据数据模型中。由于这需要时间,我希望在模拟器中以单独的应用程序运行一次。

其他应用程序将附带该数据(和datamodel) 所以:两个应用程序共享数据模型(和自定义托管对象类)和sqlite文件。

我不想在第二个应用程序中重建数据模型,当然也要手动保持两者同步 - 所以:

我该怎么做?
只需将自定义类和.xcdatamodel文件添加到另一个项目(无需复制)并更改managedObjectModel中的文件名和persistentStoreCoordinator应用程序中的方法委托从第一个应用程序获取datamodelfile的文件名?

对我来说听起来有点奇怪......

提前感谢。

2 个答案:

答案 0 :(得分:3)

如果您只是在开发过程中共享资源,那么在Xcode中,您可以在Xcode项目之间共享相同的CD资源。只需确保当您将文件添加到新项目中时,您取消选中“将项目复制到目标组的文件夹中”,但除此之外,并没有太多调整以使其全部正常工作。

如果您正在谈论在iPhone上运行期间共享CD资源,那就不可能像@Björn在他的回答中所说的那样。

答案 1 :(得分:1)

每个应用程序都在它自己的沙箱中运行,没有办法在应用程序之间共享数据而不在它们之间放置某种“中间人”以使它们保持同步(例如,网络服务器)。