添加一個NSArrayController
並將其連接到您的Group
實體(稱爲GroupController
)。選擇左側源視圖的表格列,然後轉到綁定檢查器。選中Value
部分,並通過選中框將其綁定到GroupController
。通過將Controller Key
設置爲arrangedObjects
和Model Key Path
至title
來完成綁定。
添加另一個NSArrayController
(PersonsController
)。轉到綁定檢查器並選擇名爲Content Set
的部分。從下拉列表中選擇您的GroupController並選中複選框以將PersonsController
綁定到GroupController
。完成設置Controller Key
到selection
和Model Key Path
到persons
結合。這將檢索連接到所選組的人到PersonsController
然後,您可以綁定在你的窗口到PersonsController的右手邊表視圖。將表的每一列連接到PersonsController(firstName,lastName)。
可編輯可以在你的個人資料實體表視圖的列級設置。
編輯:哎呀,剛纔重讀你的問題,看到你想要一個NSTreeController。我認爲你可以用一個NSTreeController替換GroupController - 這是一個普通的NSArrayController。我在您的Group實體中看不到任何層次結構。 Here是一個很好的教程,其代碼爲支持具有層次結構的實體的樹控制器。
EDIT2:另一個很好的教程是蘋果公司的SourceView例子。它顯示瞭如何使用NSTreeController設置源視圖。它的數據源綁定到基於文件的NSDictionary,但使用其他教程和我的答案中所需的綁定的描述,你應該能夠得到這個工作。
嗯,我不一定需要一個NSTreeController,但我想使用一個源列表來顯示我的Group對象,因爲我想讓他們上面的「GROUPS」標題。這可能使用NSArrayController嗎?本教程沒有提到任何關於此的內容。 – Rits
不,AFAIK我知道你必須使用NSOutlineView和一個NSTreeController。我使用該教程構建了我的主/細節應用程序,效果很好。該教程實際上使用了兩個控制器:一個NSArrayController檢索頂層項目(使用謂詞parent == nil),然後使用NSTreeController來顯示實際的樹。 – Roger