2016-10-15 99 views
0

我這麼這個問題達成CoreData父親,母親子女關係,CoreData子類可以與兩個子類具有相同的關係嗎?

我有一個「人」 Coredata子類,

顯然,一個人有一個父親(人),母親(人),配偶(人)和兒童(名單人)

(以關係來表示)

如果一個人是他的父親的孩子,他是他母親的兩個孩子之一。

所以「孩子」必須與母親和父親有關。

我無法在覈心數據中做到這一點,我錯過了什麼? 有沒有辦法解決這個問題?

+1

我添加了一個名爲Marriage的新實體 NSDate * date; 人*配偶; NSOrderedSet * children; 它似乎解決了問題 – riyaz

回答

2

如果您使用CoreData,您應該知道它是SQLite的說唱者,因此您需要像SQL中那樣製作關係數據庫。 人的「孩子」對父親和母親來說是一個n:1的實現。 建模一個新實體,例如MotherToChild,您可以在SQL中執行像標準化一樣的映射。

+0

// Person「child」對父親和母親來說是一個n:1的實現// 我無法做到這一點。 – riyaz

+0

您必須在Coredata編輯器的實體部分建模關係。另一個重要的點是你需要2個關係,每個1:n關係。 (看到這篇文章的更多信息:http://stackoverflow.com/questions/12709842/ios-coredata-inverse-relationships-to-itself) – weissja19

+0

我清楚地瞭解它,但一個人有兩個關係,母親,父親。雖然父親與子女有親屬關係,母親與同一子女有着同樣的關係,但核心數據無法做到這一點。 對於兒童來說,兩種相反的關係是不可能的。 – riyaz