核心数据:具有多个上下文的独立持久存储与具有单个上下文的独立永久存储



不久前,我问了一个关于SQLite迁移到核心数据的问题,根据我需要一个"只读"存储和一个"自定义存储",我得到了将持久存储分开的答案:

更新应用程序以使用以前的双SQLite专用持久存储中的核心数据

我正在开始开发这个应用程序,目前我计划创建两个独立的上下文,因为我预计只读卡对象模型在未来的版本中保持不变,而自定义模型可能会发生变化。这样,我只需要对自定义对象模型进行版本化,并继续使用相同的ole只读存储来运送应用程序。

这是明智的做法吗?如果是,我应该注意哪些障碍?如果没有,还有什么更好的选择?

只要两个模型中的实体彼此不冲突,就可以在同一上下文中同时使用这两个模型。可以使用+modelByMergingModels:方法在运行时从两个或多个模型创建单个模型。使用该新模型初始化持久存储协调器,并将该PSC添加到您的上下文中。

我相信你可以让你的代码在单独的托管对象上下文中正常工作,但核心数据的一个好处是,如果你设置正确,它会为你管理查找对象的细节。为只读数据和用户数据使用一个上下文似乎是保持代码简单的积极步骤。

最新更新