核心数据中的父实体和关系

rkb*_*rkb 12 core-data

我正在学习核心数据,所以我对以下内容感到困惑.

我需要知道这些关系在继承方案中是如何工作的.

我有一个实体动物园,动物,狗,狮子的数据模型.

狗和狮子有动物作为父母实体.

现在动物园与动物有一对多的关系.

我想知道动物园是否需要与动物有一对多的关系,或者它需要与狗和狮子有一对多的关系.遗传是否适用于这种情况.就像将来如果我添加Tiger一样,我是否需要在Zoo关系中添加它,或者一旦我从Animal继承Tiger就可以正常工作.

Bol*_*ock 17

只要您的子实体继承自Animal实体,它们也将继承Animal父实体与Zoo的关系.它类似于OOP中的类继承,其中子类自动从其超类继承变量,方法等.

因此,您需要做的就是在数据模型中声明Zoo和Animal之间的关系,以及您添加的任何扩展Animal的新实体将与Zoo具有相同的关系 - 没有额外的工作要做以确保这一点.

有关详细信息,请参阅Apple核心数据编程指南的" 托管对象模型"部分.