ios - 核心数据 - 与子实体的多对多关系,在抽象实体中具有反向关系?

标签 ios macos inheritance core-data entity-relationship

this question 类似或可能相关.

假设我有一个对象类“动物园”。它与(抽象)类型“动物”的对象具有一对多的关系。因此,Animal 属于 Zoo 对象,并具有属性“zoo”,而 Zoo 对象具有属性“animals”。

但是,我通常对具体的子实体更感兴趣,例如 Giraffe 或 Monkey。

我想要一个名为“giraffes”和“monkeys”的关系属性,还有“animals”属性。我想创建 Giraffe 对象并将它们添加到 Zoo。

这将如何工作?我不能在长颈鹿和猴子的关系中指定它的逆是“动物园”,因为这将是无效的(在核心数据编辑器中)。

我通常使用子类,但我需要始终能够询问它们属于哪个 Zoo,因此需要一个通用接口(interface)。

将不胜感激一些帮助,如果有什么我可以澄清的,请告诉我。

最佳答案

我认为你选择了一种艰难的方式来获得你想要的东西。创建如下图,您可以获取所需的一切。当您获取特定动物(比如说猴子)时,您始终可以获取它们与其他实体的关系。

zoo -->>(对许多)动物 -->(对一个)animalType

关于ios - 核心数据 - 与子实体的多对多关系,在抽象实体中具有反向关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22810361/

相关文章:

ios - 如何快速呈现来自外部框架的 View Controller ?

使用 Object.create 与使用 new 的 JavaScript 继承

inheritance - 内联私有(private)和 protected 虚函数调用

ios - 在 NSMutableArray 中存储相同类的实例

ios - 从 Collection View 中删除项目后出现标签问题

ios - 带有 UITabViewController 的 Xcode Storyboard - 从按钮更改选项卡

ios - 在不支持并发的函数中调用'async' swift ios Xcode async/await

objective-c - 使用 SceneKit 从 DAE/COLLADA 中提取动画顶点

objective-c - 如何在 OSX 应用程序中使用 DrawRect 旋转直接绘制到 NSView 的图像?

python - 继承 : Base class method which returns an instance of itself