2012-02-01 67 views
2

我有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

遗憾的是,这个图像有“周”实体的“天”的关系应该是一个问题-many,关系结束时应该有2个箭头

现在这里有2个问题。

1st。对于任何天级(定制NSManagedObject的子类)对象,我需要关心像它的关系后:

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

那么我可以忠实地发现通过一周实体的关系“日”的当天,

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

听说你创造你的NSMangedObject的子类后,你有一个像

- (void)addXXXObject:(xxx)xxx 

方法来帮助你处理多对多关系,并会自动照顾与反比关系。

但这里它似乎没有。所以,我必须处理我自己的逆关系,或者如果核心数据确实提供了,我如何使它自动添加对象上的反比关系?

2nd。假设有很多“日”与一个“周”,通过他们的关系连接,

我想要的是,每次用户删除其中一天,我们检查该周是否仍有一些关系中的天,

,如果是的话,只是让用户删除的那一天,

如果没有,我们还删除了“周”对象。

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

我不是这些规则很清楚..

谢谢!

回答

5

只要你在两个实体中定义它,CoreData实际上应该处理相反的关系。请参阅here

我会用抵消了day->一周关系删除规则和week->天级联
当你删除星期时,与它关联的所有日子也会被删除。
当你删除一天时,它将从本周的日子中删除。无法自动删除当周没有日子的那一周。但是,您可以观察本周的日期并删除self if self.days.count == 0

+0

Thankk很多!这真的很有帮助! – 2012-02-02 02:54:30