2011-02-22 42 views
1

上午我在我的理解是正確的孩子如何填充與NSTreeControllerNSOutlineview誰必然有他們之間的關係的兩個獨立的實體:正確的方法將一個實體捆綁爲一個NSTreeController

NSTreeController有一個managedObjectContext綁定到我的appDelegate。我的Object Controller這是一個名爲客戶端的實體。我NSOutlineViewstableColumn被綁定到NSTreeController(和客戶key pathclientCompany這正確填充我的NSOutlineView有公司名稱的列表。

我的第二個實體,項目,有一個叫做projectParent反向綁定到客戶屬性的關係屬性稱爲clientChild。通過這種關係,我希望我的NSTreeController的子女由相關的項目條目組成,其中相關的客戶公司作爲父項。

要嘗試這個,我做了clientChildchildrenkey pathNSTreeController,然後結合我同一個控制器的content setclientChildkey path客戶實體與Controller Key爲「選擇」的。

此方法和各種組合似乎不起作用併產生不同的錯誤。只有當我忽略了最後的'content set'綁定步驟時,程序在啓動時運行時沒有錯誤,並且在outlineview條目旁邊有打開/關閉圖標,表明它像我想要的那樣填充。在嘗試打開其中一個條目時,它會產生一個錯誤,暗示我的項目實體不符合KVC與我的clientChild屬性。我已經翻遍了綁定,似乎無法找到問題。

+0

只是補充一點:我看到了我可能會出錯的地方,因爲我沒有定義我想在大綱視圖中列出項目的屬性作爲孩子。我嘗試在兒童中將其定義爲clientChild.projectTitle,但這並未消除錯誤。 – biscuitstack 2011-02-22 18:17:10

回答

1

從一個多星期的閱讀和研究中,我相信答案是這是不可能的。這讓我感到驚訝 - 考慮到Interface Builder和NSTreeController提供的所有時間保存快捷方式,我認爲我的情況足夠普遍,以至於這可以在Interface Builder或內置類中實現。

我不是在創建我自己的類來做我想做的事情,希望這個答案對任何正在尋找這個並且找不到許多答案的人都有用(谷歌並沒有多大用處)。

相關問題