我正在研究我的第一個主要的可可應用程序,用於本科研究項目。核心數據應用程序中的多個視圖和源列表
該應用程序是基於文檔並使用核心數據。其中一個實體是抽象實體,Page. Page
是幾種類型頁面的父代:即PageWithHeaderAndFooter, PageWithTwoColumns, BasicPage
等。Page
具有所有頁面共有的屬性,如標題和作者。每個特定類型的頁面都有一定數量的佈局塊(PageWithHeaderAndFooter
有三個:頁眉,頁腳,主體,BasicPage
有一個:主體等等)另外,所有Page
子類都定義了特定佈局特定方法的實現。
其他相關實體是Style
,它定義了Page
的外觀。 (將Page
s視爲HTML並將Style
視爲CSS。)
我想讓我的應用程序具有包含區段的iTunes/Mail-like源列表。 (一部分是頁面,另一部分是樣式。)我有一個很好的主意如何執行分段的源列表(this was a great help)。
然而,撞頭和徒勞的谷歌搜索小時後,這裏就是我想不通:
頁和樣式在源列表中,當你選擇其中一個,全部爲相關領域的該對象出現在右側(主要是NSTextViews,彈出菜單等)。
我已經做好了準備,並在Interface Builder中完成了所有的綁定。
問題是,如果我的源列表包含不同類型的頁面,那麼根據所選頁面的類型,如何獲得不同的視圖以顯示在右側?例如,如果選擇了BasicPage
,我只想要你上面看到的內容:一般頁面內容和一個對應於BasicPage
的body
的NSTextView。但是,如果我選擇PageWithHeaderAndFooter
,我想要顯示一般頁面內容以及三個NSTextView(一個用於標題,正文和頁腳)。如果我選擇了Style
,我想要顯示各種彈出菜單,顏色井等。
至少對於頁面,我們只討論一個或多個NSTextViews,每個NSTextView都對應於相應實體的String屬性。
你會如何做到這一點?
謝謝你的幫助!