gpt4 book ai didi

ios - Core Data 不会自动处理反向关系

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:33:07 25 4
gpt4 key购买 nike

我有 3 个这样的实体:

sorry that this image has a problem that the "day" relationship of "Week" entity should be to-many, there should be 2 arrows on the end of the relationship

很抱歉,这张图片有一个问题,“周”实体的“天”关系应该是一对多的,关系的末尾应该有 2 个箭头

现在有 2 个问题。

第一。对于任何 Day-Class(NSManagedObject 的自定义子类)对象,在我处理了它的关系之后:

Week* aWeek;
Day *aDay;
[aWeek addDayObject:aDay];

然后我就可以通过Week实体的关系“day”真正找到Day了,

但反过来,我发现 Day 对象“aDay”的关系“thisWeek”仍然为 nil。

我听说在你创建了 NSMangedObject 的子类之后,你得到了类似

的方法
- (void)addXXXObject:(xxx)xxx

帮助您处理对多关系,并会自动处理反向关系。

但是这里好像不是。那我是不是要自己处理反关系,

或者如果核心数据确实提供了,我怎样才能让它自动添加逆向关系上的对象?

第二。假设有许多“天”和一个“周”,通过它们的关系连接起来,

我想要的是,每次用户删除其中一天,我们检查一周是否还有一些天数,

如果是,就让用户删除那一天,

如果不是,我们也删除“Week”对象。

那么我应该使用对多关系的删除规则是什么?

我不太清楚这些规则..

谢谢!

最佳答案

只要您在两个实体中都定义了它,CoreData 实际上应该处理反向关系。参见 here .

我会为日->周关系使用nullify删除规则,并为周->日使用级联
当您删除周时,与其关联的所有日期也会被删除。
当您删除某一天时,它将从一周的天数中删除。当周不再有天数时,您将无法自动删除该周。但是,您可以观察一周的天数并在 self.days.count == 0 时删除 self

关于ios - Core Data 不会自动处理反向关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9096266/

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