2011-08-12 30 views
8

Apple在Lion的Core Data中引入了有序的多對多關係。我創建了一個名爲TreeNode的實體,具有1:1對象關係,1:1父關係和有序對多關係子對象。如何將NSTreeController的子項綁定到核心數據訂購了多關係?

然後我有一個NSTreeController與兒童關鍵路徑設置爲TreeNode.children。運行應用程序只顯示第一級元素。所以孩子們不工作。由於兒童是一種有序的多對一關係,所以相應的班級有一個NSOrderedSet孩子。我添加了一個自定義方法

- (NSArray *) childrenArray { 
    return [children array]; 
} 

它的工作。我找不到有關該主題的任何文檔。將NSTreeController綁定到有序的多對多關係時,真的要走嗎?提前致謝。

+1

我還沒有使用過這樣的有序關係,但樹控制器一直是臭名昭着的挑剔。我會建議讓它在沒有訂單的情況下工作,然後添加訂單。 – TechZen

+0

你的樹是否可變? – paulmelnikow

+1

我也有同樣的問題。有沒有NSTreeController與Ordered CoreData關係一起工作的例子? – Tony

回答

4

看來,蘋果公司給了我們有序的核心數據集,但忘了升級其綁定控制器。一年後,你的問題,問題仍然存在。

看一看:

故事

https://github.com/robertjpayne/DDOutlineView

道德。在使用有序關係時要小心,儘量自己實現,直到Apple完全實現該功能

+0

看來這仍然是一個問題。 – Stephan

+0

Btw。我只是爲此打開一個錯誤報告...可能這有助於:) – Stephan