2011-12-22 50 views
5

我很努力設計一個coreData模型,我只有一種類型的條目叫做「待辦事項」。每個待辦事宜條目與其他(子)條目具有0,1,2,...或n關係,就像待辦事項一樣。因此,待辦事項條目之間的關係設計了一個具有未定義數量的子節點的樹結構。以下圖解說明應的情況下(E =核心數據條目):核心數據:如何從一個核心數據條目設計樹形數據結構

  E        
      /|\       
     /| \      
     E E E      
     /\    
    / \   
     E  E    
    /|\     
    E E E   

我的猜測是,模型,像在下面的曲線圖所示的數據。我沒有選擇反向關係,因爲Xcode與它的樹形設計不匹配,形成了多對多的關係。我

enter image description here

另外在data model inspector一種叫 「父條目」 看到了。所以我開始相信我可能需要創建一個名爲「To-Do-Child」的第二個條目,它具有相同的屬性並將其他條目設置爲父條目。該手冊告訴我,這可能是走在錯誤的道路......

問題:

  1. 我怎麼能核心數據模型文件中的這種方法的模型?提到的其中一個是正確的嗎?

  2. 我將如何獲取指定父節點的所有待辦事項條目?由於它們來自同一條目,所以我有問題需要解決我想要的確切待辦事項子樹。

+0

只是鏈接到這個問題,這是比接受的答案更有用http://stackoverflow.com/questions/16633907/model-a-tree-structure-in-core-data – 2015-06-29 15:32:41

回答

3

我認爲你需要parent的關係(目的實體是你做的實體),用作目的地的反比關係。

樹頂部的條目對這個關係沒有價值。

對於任何待辦事項,從childToDos關係返回的集合將包含所有子項。這些都屬於同一班級並不重要。

+0

啊哈,好主意。但後來我想到了爲什麼不定義名爲'parent'的第二個關係。如果沒有新的屬性,是不是也會這樣做?那麼,與自我關係的第一種方法是正確的方法? – 2011-12-22 18:18:42

+0

正確,那就是我的意思,對不起。我已經更新了答案。 – jrturton 2011-12-22 19:49:27