gpt4 book ai didi

cocoa - 核心数据: Common relationship to different types

转载 作者:行者123 更新时间:2023-12-03 17:22:58 25 4
gpt4 key购买 nike

假设我们有两种类型,HousePet。这些类型没有太多共同点,但它们都有一个所有者。所有者的类型为 Person

我不想让 DogHouse 都派生自一个共同的父类(super class)型,因为据我所知,核心数据不喜欢大型数据集(每个有几十万)。如果这个假设不正确,请告诉我。

现在,由于 Core Data 不喜欢没有逆元的关系,因此 Person 需要为 HouseDog 提供逆元。拥有两个独立的关系(即房子)似乎是显而易见的解决方案,但一个人可以拥有很多很多不同的东西(为了这个问题,我们'把动物当作东西对待。对不起,动物!)。

我希望Person具有单对多关系possessions。这对于 Core Data 来说似乎是不可能的。如果不能让 DogHouse 都继承自一个共同的父类(super class),那么数十种关系(每种占有类型一个)真的是正确的选择吗?是否没有核心数据实体的协议(protocol)之类的东西(以便它们都可以拥有)?对我来说,这似乎并不是一个太奇特的用例。

我错过了什么吗?我可能是。告诉我什么,赢得我的感激:)

最佳答案

添加一个名为Thing的新实体。添加从 ThingPerson 的一对一关系,称为 owner。添加从 PersonThing 的一对多关系,称为 possessions。使它们互为逆。

接下来,将所有事物设为 Thing 的子实体。

现在,所有事物共有的任何东西都可以放入 Thing 实体中,并且 Person 可以拥有各种各样的属性(property)集合。

关于cocoa - 核心数据: Common relationship to different types,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16282113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com