2012-02-01 64 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