我正在學習可可(而不是ios),我想在我創建的所有代碼中理解和實現MVC。我已經瞭解並理解了這種設計的邏輯,並且我正嘗試在我的應用程序中使用它(從課程和教程等中的非常小的應用程序)。MVC - 模型應該與控制器不同嗎?
大多數教程僅在2個文件中顯示MVC的示例。 Model和appController一起放在一個類/文件(NSObject的一個子類)中,然後顯然在它自己的文件(NSView)中顯示視圖。 但是當我想到MVC時,我總是想到3個文件中的3個類:
類/文件1.模型例如名稱,人物,年齡,數組等。 類/文件2. appController - 腦,例如給人姓名和年齡等...... 類別/文件3.視圖例如在窗口中顯示該人。
那麼模型應該總是在與控制器分開的文件中?
另一個問題是關於溝通 - 在上面的例子中,Model和appController如何共享數據?模型是appController的子類(appController是NSObject的一個子類),所以兩者都可以共享ivars?
感謝您閱讀本文,希望您能澄清我的疑惑。
@ Ehsan-謝謝Ehsan - 我真的很感激你在這上面的時間。所以有幾個問題: 對於控制器和模型之間的通信,我還是有點困惑。 當你說,控制器在最後階段有一個模型的對象。你是說我實際上應該在appController中創建模型的實例/對象嗎? 如果是的話,我想如果我從我的appController模型類中的對象,我可以得到我的模型(數組等)的屬性,但不是實際的值(字符串名稱等)! 達姆......因爲我正在寫這篇文章,我正在意識到自己有多困惑! – pete
混亂排序!我忘記了如果我在模型的實現文件中使用init方法初始化我的值,那麼在將模型導入到appController時,可以導入所有值。 – pete