2010-03-07 23 views
0

所以從我所瞭解的可可程序的基本應用程序結構是MainMenu.xib中的AppController。然後,AppController初始化具有所有UI邏輯的WindowController和ViewControllers,然後爲應用程序的其餘部分加載xib文件。 AppController也創建Model類。在可可中,您如何將模型連接到視圖控制器?

我的困惑在於如何從模型類中獲取數據到視圖中。我想使用綁定和鍵值觀察。每個視圖控制器應該有一個指向AppController和ModelController的指針嗎?如果是的話,你會如何做到這一點?

[[ViewController alloc] initWithModel:ModelController]; 

是我能想到的唯一解決方案,它看起來不是很乾淨。

回答

1

我做了一個控制器來創建/加載並擁有模型。我的應用程序委託創建並擁有此控制器。

同樣的控制器通常也擁有窗口或視圖;我很少使用專用窗口控制器,並且從未使用過視圖控制器。如果您確實使用窗口/視圖控制器,則模型控制器也會創建並擁有這些控制器。因此,一個控制器負責模型(或其某個特定部分)和顯示(模型的一部分)模型的(控制器)窗口。

0

NSViewController鏈接到模型的常用方法是設置其值爲representedObject的值。無需設置指向AppController的指針,因爲它始終可以通過[NSApplication sharedApplication].delegate獲取。

相關問題