上午我在我的理解是正確的孩子如何填充與NSTreeController
的NSOutlineview
誰必然有他們之間的關係的兩個獨立的實體:正確的方法將一個實體捆綁爲一個NSTreeController
我NSTreeController
有一個managedObjectContext綁定到我的appDelegate
。我的Object Controller
這是一個名爲客戶端的實體。我NSOutlineViews
tableColumn
被綁定到NSTreeController
(和客戶)key path
clientCompany這正確填充我的NSOutlineView
有公司名稱的列表。
我的第二個實體,項目,有一個叫做projectParent反向綁定到客戶屬性的關係屬性稱爲clientChild。通過這種關係,我希望我的NSTreeController
的子女由相關的項目條目組成,其中相關的客戶公司作爲父項。
要嘗試這個,我做了clientChild的children
key path
我NSTreeController
,然後結合我同一個控制器的content set
到clientChildkey path
我客戶實體與Controller Key
爲「選擇」的。
此方法和各種組合似乎不起作用併產生不同的錯誤。只有當我忽略了最後的'content set
'綁定步驟時,程序在啓動時運行時沒有錯誤,並且在outlineview條目旁邊有打開/關閉圖標,表明它像我想要的那樣填充。在嘗試打開其中一個條目時,它會產生一個錯誤,暗示我的項目實體不符合KVC與我的clientChild屬性。我已經翻遍了綁定,似乎無法找到問題。
只是補充一點:我看到了我可能會出錯的地方,因爲我沒有定義我想在大綱視圖中列出項目的屬性作爲孩子。我嘗試在兒童中將其定義爲clientChild.projectTitle,但這並未消除錯誤。 – biscuitstack 2011-02-22 18:17:10