继承托管对象

时间:2018-12-26 11:58:08

标签: swift xcode core-data

这是一个棘手的问题,我是核心数据的新手。我有一个xcdatamodel,在我的快速框架中包含几个实体。 当应用程序使用我的框架时,它通过称为CoreDataManager的类使用数据模型中的实体。 这里有两个问题: 1.应用程序是否可以拥有自己的数据模型文件和另一组实体,并将其与框架数据模型一起使用。 (我认为使用两个托管对象上下文是可能的,更好的方法会有所帮助) 2.应用实体如何与框架中的实体有关系。任何核心数据专家都请分享您的想法。

1 个答案:

答案 0 :(得分:0)

使用该框架的应用程序也可以具有自己的数据模型和持久性存储。那可能是一个完全独立的核心数据堆栈。它还可以将框架数据模型与它们自己的模型结合起来,以形成一个统一的模型。如果他们使用的是NSPersistentContainer,则可以通过在NSPersistentStoreDescription数组中包含多个persistentStoreDescriptions来实现,其中一个用于模型,另一个用于框架。然后,容器将使用包含两个实体的统一模型。

如果他们不使用NSPersistentContainer,则NSManagedObjectModel拥有将多个数据模型合并到单个模型对象中的方法。

如果使用两个单独的Core Data堆栈,则它们的对象和框架对象之间将没有任何关系,因为它们将位于单独的数据存储中。如果使用统一方法,则关系将起作用,因为它是单个数据模型和单个持久性存储。